以二叉链表作为二叉树的存储结构,统计二叉树的叶结点个数的代码
时间: 2024-11-15 12:11:10 浏览: 11
在使用二叉链表作为二叉树的存储结构时,统计叶节点(也称叶子节点,即没有孩子的节点)的个数通常涉及到遍历整个树。这里提供一个简单的Python代码示例,使用递归的方式来完成这个任务:
```python
class Node:
def __init__(self, value=None):
self.value = value
self.left = None
self.right = None
def count_leaves(node):
if node is None: # 如果节点为空,返回0
return 0
elif node.left is None and node.right is None: # 如果当前节点是叶节点,加一
return 1
else: # 否则,左右子树都是非叶节点,分别计数然后相加
return count_leaves(node.left) + count_leaves(node.right)
# 创建一个二叉树实例并插入节点(这里仅作演示)
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
root.left.right = Node(5)
# 调用函数计算叶节点个数
leaf_count = count_leaves(root)
print(f"叶节点总数: {leaf_count}")
```
在这个例子中,`count_leaves` 函数会遍历整棵树并返回叶节点的数量。
阅读全文