首页 > 代码库 > Leetcode: Minimum Depth of Binary Tree

Leetcode: Minimum Depth of Binary Tree

这道题因为不仔细的缘故两次过,与Maximum Depth of Binary Tree问题类似,区别在于这个问题中,如果一个节点左子树为空、右子树有值,则该节点的深度应取决于右子树,而不能直接取min{左,右}

 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public int minDepth(TreeNode root) {
12         if(root==null) return 0;
13         int depleft=minDepth(root.left);
14         int depright=minDepth(root.right);
15         if(depleft==0 && depright!=0) return depright+1;
16         if(depleft!=0 && depright==0) return depleft+1;
17         if(depleft==0 && depright==0) return 1;
18         return Math.min(depleft, depright)+1;
19     }
20 }