1. 程式人生 > >leetcode之N-ary Tree Level Order Traversal(429)

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