zl程序教程

您现在的位置是:首页 >  后端

当前栏目

429. N 叉树的层序遍历

遍历 层序
2023-09-14 09:01:25 时间

在这里插入图片描述
思路:
层次遍历+同深度放一个数组 需要注意的是该方法不止适应于二叉树

"""
# Definition for a Node.
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]]:
        '''
        思路:
            层次遍历+同深度放一个数组 需要注意的是该方法不止适应于二叉树
        '''
        res = []
        if not root:
            return res
        q = [root]
        while q:
            tem = []
            l = len(q)
            for _ in range(l):
                node = q.pop(0)
                tem.append(node.val)
                if node.children:
                    q.extend(node.children)
            res.append(tem)
        return res