""" 二叉树常见术语: - 「根节点 root node」:位于二叉树顶层的节点,没有父节点。 - 「叶节点 leaf node」:没有子节点的节点,其两个指针均指向。 - 「边 edge」:连接两个节点的线段,即节点引用(指针)。 - 节点所在的「层 level」:从顶至底递增,根节点所在层为 1 。 - 节点的「度 degree」:节点的子节点的数量。在二叉树中,度的取值范围是 0、1、2 。 - 二叉树的「高度 height」:从根节点到最远叶节点所经过的边的数量。 - 节点的「深度 depth」:从根节点到该节点所经过的边的数量。 - 节点的「高度 height」:从距离该节点最远的叶节点到该节点所经过的边的数量。 """ class TreeNode: def __init__(self, val: int): self.val = val self.left: TreeNode | None = None self.right: TreeNode | None = None """ # 完美二叉树:除了叶节点,所有节点都有两个子节点,且左右节点数相同, 若树的高度为h,则节点数为 2^(h+1)-1。也称为满二叉树 # 完全二叉树:只有最底层节点未被填满,且填充顺序从左到右 # 完满 """