📅  最后修改于: 2023-12-03 15:25:45.092000             🧑  作者: Mango
本文介绍如何打印二叉树每个级别的级别值对应的节点。这样可以帮助我们更好地理解二叉树的结构,以及对其中的数据进行分析和处理。
给定一个二叉树,打印出每个级别的级别值对应的节点。例如,对于下面的二叉树:
1
/ \
2 3
/ \ / \
4 5 6 7
输出:
Level 0: 1
Level 1: 2 3
Level 2: 4 5 6 7
为了打印每个级别的节点,我们需要遍历整个二叉树,并记录每个节点所在的级别。这里我们可以使用层次遍历来实现。
具体步骤如下:
下面是Python实现代码:
def print_levels(root):
levels = []
q = [(root,0)]
while q:
node,level = q.pop(0)
if len(levels) == level:
levels.append([])
levels[level].append(node.val)
if node.left:
q.append((node.left,level+1))
if node.right:
q.append((node.right,level+1))
for i, level in enumerate(levels):
print("Level {}: {}".format(i, " ".join(str(x) for x in level)))
这段代码接受一个二叉树的根节点作为参数,输出每个级别和对应的节点。
本文介绍了如何打印二叉树每个级别的级别值对应的节点。通过使用层次遍历,我们可以轻松地获得每个节点所在的级别,并将它们按级别分类,最终打印出每个级别和对应的节点。