📅  最后修改于: 2023-12-03 15:41:37.440000             🧑  作者: Mango
二叉树是一种经常被用到的数据结构,其中包含一个根节点和两个分别称为左子树和右子树的二叉树。本文将介绍如何使用迭代程序计算二叉树中叶节点的个数。
count
,初始值为0count
的值加1count
即为二叉树中叶节点的个数def count_leaf_nodes(root):
stack = [root]
count = 0
while stack:
node = stack.pop()
if node.left is None and node.right is None:
count += 1
if node.right is not None:
stack.append(node.right)
if node.left is not None:
stack.append(node.left)
return count
该函数count_leaf_nodes
的参数为一个根节点,返回一个整数类型的结果。其中根节点的类型定义如下:
class Node:
def __init__(self, value: int):
self.value = value
self.left = None
self.right = None
本文介绍了如何使用迭代算法计算二叉树中叶节点的个数。这种算法比递归算法更节省空间,并在处理大型二叉树时更为高效。