n叉树的层序遍历python
时间: 2023-11-16 11:13:06 浏览: 89
n叉树层序遍历的Python实现可以使用队列来实现。具体实现代码如下:
```
class Node:
def __init__(self, val=None, children=None):
self.val = val
self.children = children
class Solution:
def levelOrder(self, root: 'Node') -> List[List[int]]:
if not root:
return []
queue = [root]
res = []
while queue:
level = []
n = len(queue)
for i in range(n):
node = queue.pop(0)
level.append(node.val)
if node.children:
queue.extend(node.children)
res.append(level)
return res
```
其中,Node类为n叉树节点的定义,children保存了该节点的子节点列表;Solution类中的levelOrder函数即为n叉树的层序遍历算法,通过简单的BFS实现,即可得到每层节点的val值,返回值res即为最终结果。
阅读全文