leetcode之N-ary Tree Level Order Traversal(429)

题目:

给定一个N叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。

例如,给定一个 3叉树 :

返回其层序遍历:

[
     [1],
     [3,2,4],
     [5,6]
]

说明:

  1. 树的深度不会超过 1000
  2. 树的节点总数不会超过 5000

python代码:

"""
# Definition for a Node.
class Node(object):
    def __init__(self, val, children):
        self.val = val
        self.children = children
"""
class Solution(object):
    def levelOrder(self, root):
        res,q = [],[root]
        while any(q):
            res.append([node.val for node in q])
            q = [child for node in q for child in node.children if child ]
        return res

猜你喜欢

转载自blog.csdn.net/cuicheng01/article/details/82957264