题目描述
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.
寻找一棵二叉树最短的路径长度。
个人感觉在做的时候,容易出问题的点在于,如果一棵树只有left端,没有right节点,那么此时返回的应该是left端的长度,而不应该简单的认为返回min(left_depth,right_depth)。
java代码
public class Solution {
public int run(TreeNode root) {
if(root==null){
return 0;
}
int left_depth=run(root.left);
int right_depth=run(root.right);
if(left_depth+right_depth==0){
return 1;
}
else if(left_depth==0 ||right_depth==0){
return left_depth+right_depth+1;
}
else{
if(left_depth>right_depth){
return right_depth+1;
}
return left_depth+1;
}
}
}
网友评论