【二叉树】统计二叉树中叶子结点的个数
时间: 2024-06-19 19:02:49 浏览: 216
计算二叉树中叶子结点的数目
二叉树是一种非常常见的数据结构,它由节点和边组成,每个节点最多只有两个子节点,分别为左子节点和右子节点。叶子节点指的是没有子节点的节点,统计二叉树中叶子节点的个数可以通过递归方式实现,具体思路如下:
1. 如果当前节点为空,则叶子节点数量为0;
2. 如果当前节点没有左右子节点,则它是叶子节点,数量为1;
3. 如果当前节点有左子节点,则统计左子树中叶子节点数量;
4. 如果当前节点有右子节点,则统计右子树中叶子节点数量;
5. 当前节点的叶子节点数量为左右子树中叶子节点数量之和。
以下是一个示例代码:
```
int countLeafNodes(TreeNode* root) {
if (root == NULL) {
return 0;
}
if (root->left == NULL && root->right == NULL) {
return 1;
}
int leftCount = countLeafNodes(root->left);
int rightCount = countLeafNodes(root->right);
return leftCount + rightCount;
}
```
阅读全文