要实现一个层序遍历的代码,并获取每一层的节点数据,你可以使用广度优先搜索(BFS)的方法。下面是一个 Python 示例,该代码通过队列完成层序遍历,将结果逐层收集到一个列表中。
这里的代码将打印每一层的节点,而不是仅仅是右侧视图:
from collections import deque
from typing import List, Optional
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def levelOrder(root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return []
result = []
queue = deque([root])
while queue:
level_size = len