📅  最后修改于: 2023-12-03 15:33:16.113000             🧑  作者: Mango
层序遍历是一种广度优先搜索的方式,也是N叉树常用的一种遍历方式。遍历时从根节点开始扫描每一层的所有节点,然后再逐层向下遍历,直到全部遍历完为止。
在实现N叉树的层序遍历时,我们可以通过队列来实现,每次将该层节点加入队列,然后再遍历该层节点的每个子节点。具体实现如下:
class Solution:
def levelOrder(self, root: 'Node') -> List[List[int]]:
if not root:
return []
result = []
queue = collections.deque([root])
while queue:
level_size = len(queue)
level_nodes = []
for _ in range(level_size):
node = queue.popleft()
level_nodes.append(node.val)
for child in node.children:
queue.append(child)
result.append(level_nodes)
return result
层序遍历是一种广度优先搜索的方式,可以用来遍历N叉树。在实现时,我们可以通过队列来实现。本文的代码片段为python实现,实现难度较低,适合初学者学习。