描述:
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