描述:
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.
思路:
和求最大深度思路是类似的,只是题目要求的最小深度是到最近的叶子节点的最小深度,所以当一个节点的深度为0时,很显然是没有叶子节点的,应该取另外一个num并加1
代码:
public int minDepth(TreeNode root) {
if(root==null)
return 0;
if(root.left==null&&root.right==null)
return 1;
int num1=minDepth(root.left),num2=minDepth(root.right);
int num=0;
if(num1==0)
return num=num2+1;
if(num2==0)
return num =num1+1;
num=(num1<=num2?num1:num2)+1;
return num;
}
结果:
leetcode_111_Minimum Depth of Binary Tree
原文:http://blog.csdn.net/mnmlist/article/details/44591509