155. Minimum Depth of Binary Tree
Description
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest
path from the root node down to the nearest leaf node.
Example
Given a binary tree as follow:
1
/ \
2 3
/ \ 4 5
Solution
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */
public class Solution {
/** * @param root: The root of binary tree * @return: An integer */
public int minDepth(TreeNode root) {
// write your code here
if(root!=null){
int mindl = minDepth(root.left);
int mindr = minDepth(root.right);
int mind = 0;
//注意这里,和求最大深度不一样,如果左右子树有一棵为空,那么此时深度为非空的那棵子树的深度
if(mindl==0||mindr==0) mind = mindl==0?mindr:mindl;
else{
mind = mindl>mindr?mindr:mindl;
}
return mind+1;
}else{
return 0;
}
}
}
还没有评论,来说两句吧...