二叉树的最小深度
解题思路:
这个和最大深度是一样的。只是到这道题我才发现原来深度只是到叶子节点路径中结点的个数,之前理解错了。之前一直以为[1,2]这样的是两个深度,一个2一个1原来只有2,左边的才算深度。
代码:
public int MinDepth(TreeNode root)
{
if (root == null)
return 0;
if (root.left != null && root.right == null)
return MinDepth(root.left) + 1;
if (root.right != null && root.left == null)
return MinDepth(root.right) + 1;//注意是到叶子节点路径中结点的数量。
else return Math.Min(MinDepth(root.left), MinDepth(root.right)) + 1;
}