1. 程式人生 > >111. Minimum Depth of Binary Tree

111. Minimum Depth of Binary Tree

查找 minimum rgs sys static http htm leet pos

原題鏈接:https://leetcode.com/problems/minimum-depth-of-binary-tree/description/
簡單級別的題目就是不咋滴難哦:

/**
 * Created by clearbug on 2018/2/26.
 */
public class Solution {

    static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;

        public TreeNode(int val) {
            this.val
= val; } } public static void main(String[] args) { Solution s = new Solution(); // test1 TreeNode root = new TreeNode(3); root.left = new TreeNode(9); root.right = new TreeNode(20); root.right.left = new TreeNode(15); root.right
.right = new TreeNode(7); System.out.println(s.minDepth(root)); // test2 TreeNode root2 = new TreeNode(1); root2.left = new TreeNode(2); root2.right = new TreeNode(2); root2.left.left = new TreeNode(3); root2.left.right = new TreeNode(3); root2.left
.left.left = new TreeNode(4); root2.left.left.right = new TreeNode(4); System.out.println(s.minDepth(root2)); // test3 TreeNode root3 = new TreeNode(1); root3.left = new TreeNode(2); root3.right = new TreeNode(2); root3.left.left = new TreeNode(3); root3.left.right = new TreeNode(3); root3.right.left = new TreeNode(3); root3.right.right = new TreeNode(3); root3.left.left.left = new TreeNode(4); root3.right.right.right = new TreeNode(4); System.out.println(s.minDepth(root3)); // test4 TreeNode root4 = new TreeNode(1); root4.left = new TreeNode(2); root4.left.left = new TreeNode(3); System.out.println(s.minDepth(root4)); } public int minDepth(TreeNode root) { if (root == null) { return 0; } if (root.left == null && root.right == null) { // left, right 均為 null, 說明 root 是葉子結點 return 1; } if (root.left == null) { // left 為 null, 而 right 不為 null, 說明 root 並不是葉子結點,還需要在 right 上查找葉子結點 return minDepth(root.right) + 1; } if (root.right == null) { return minDepth(root.left) + 1; } // left, right 均不為 null, 說明還需要在 left 和 right 上查找葉子結點 int leftMinDepth = minDepth(root.left) + 1; int rightMinDepth = minDepth(root.right) + 1; return Math.min(leftMinDepth, rightMinDepth); } }

111. Minimum Depth of Binary Tree