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.
这道题的目的就是求二叉树的最小高度.
和求二叉树高度不同的是,它需要判断每一个根节点到叶节点的高度。递归的解法如下:
class Solution{
public:
int minDepth(TreeNode *root){
if(!root)
return 0;
if(root->left == NULL)
return minDepth(root->right)+1;
if(root->right == NULL)
return minDepth(root->left)+1;
return min(minDepth(root->left), minDepth(root->right))+1;
}
};