您的位置:首页 > 其它

求二叉树第K层的节点个数

2015-08-29 18:19 267 查看
递归解法:

(1)如果二叉树为空或者K<1,返回0

(2)如果二叉树不为空且K=1,返回1

(3)如果二叉树不为空且K>1,返回左子树中K-1层的节点个数与右子树K-1层节点个数之和

int GetNodeNumKthLevel(BinaryTree *pRoot, int k )
{
if (pRoot == NULL || k < 1)
return 0;
if (k == 1)
return 1;
int numLeft = GetNodeNumKthLevel(pRoot->lchild, k - 1);
int numRight = GetNodeNumKthLevel(pRoot->rchild, k - 1);
return (numLeft + numRight);
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: