以下代码可以正确地按层换行输出二叉树的节点值。 from collections import deque class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def printByLevel(root): if not root: return q = deque([root]) while q: for i in range(len(q)): cur = q.popleft() print(cur.val, end=' ') if cur.left: q.append(cur.left) if cur.right: q.append(cur.right) print()
A:正确
B:错误
正确答案:正确
答案解析
使用队列实现层次遍历,初始化时将根节点加入队列。当队列非空时,记录当前层的节点数量,通过循环逐个处理该层节点。每次从队列左侧取出一个节点,输出其值,并将其左右子节点依次加入队列尾部。一层处理完毕后,执行换行操作。若根节点为空,则直接返回。整个过程依赖队列的先进先出特性保证按层序访问节点。
试卷来源:202606 CCF-GESP编程能力等级认证Python六级真题