二叉树的最小深度
欢迎使用Markdown编辑器
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [8,6,13,null,null,15,7],
8
6 13
15 7
返回它的最小深度 2.
下面给出自己的解题代码:
int minDepth(TreeNode* root)
{
int result=0;
if(root==NULL) result=0;
else if(root->left==NULL&&root->right!=NULL)
{
result=minDepth(root->right)+1;
}
else if(root->left!=NULL&&root->right==NULL)
{
result=minDepth(root->left)+1;
}
else if(root->left!=NULL&&root->right!=NULL)
{
result=minDepth(root->left)<mindepth(root->right)?(minDepth(root->left)+1):(mindepth(root->right)+1);
}
return result;
}