429. N 叉树的层序遍历

exiaohu 于 2022-04-08 发布

题目链接:429. N 叉树的层序遍历

广度优先搜索。

"""
# 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]]:
        if root is None:
            return []

        ret, nodes = [], [root]

        while nodes:
            next_nodes, nums = [], []
            for node in nodes:
                nums.append(node.val)
                next_nodes.extend(node.children)

            ret.append(nums)
            nodes = next_nodes

        return ret