您的位置:首页 > 其它

求二叉树叶子节点的个数

2015-08-29 18:27 218 查看
递归解法:

(1)如果二叉树为空,返回0

(2)如果二叉树不为空且左右子树为空,返回1

(3)如果二叉树不为空且左右子树不同时为空,返回左子树中的叶子节点个数加上右子树中的叶子节点个数

int GetLeafNodeNum(BinaryTreeNode *pRoot)
{
if (pRoot == NULL)
return 0;
if (pRoot->lchild == NULL && pRoot->rchild == NULL)
return 1;
int numLeft = GetLeafNodeNum(pRoot->lchild);
int numRight = GetLeafNodeNum(pRoot->rchild);

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