0
点赞
收藏
分享

微信扫一扫

计算二叉树叶子结点的个数

计算二叉树叶子结点的个数

当结点的左右孩子都为空时,说明这是个叶子结点,通过递归计算子树上的叶子结点。

image-20230712100021643

如果结点为空,就返回0;不为空,就判断它是不是叶子结点,是返回1;不是就返回它的左子树的叶子结点个数+右子树的叶子结点个数。

//计算叶子结点个数
int LeafSize(BTNode* root)
{
if (root == NULL)//如果结点为空直接返回
{
return 0;
}
//判断左右孩子是否为空,如果是说明为叶子结点
if (root->left == NULL && root->right == NULL)
{
return 1;
}
return LeafSize(root->left) + LeafSize(root->right);//递归计算左子树和右子树叶子结点个数
}

举报

相关推荐

0 条评论