429. N-ary Tree Level Order Traversal

Given an n-ary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

For example, given a 3-ary tree:

avatag

We should return its level order traversal:

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

Note:

  1. The depth of the tree is at most 1000.
  2. The total number of nodes is at most 5000.
# 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):
        """
        :type root: Node
        :rtype: List[List[int]]
        """
        if root is None:
            return []
        res = []
        temp = [root]
        while len(temp):
            l = len(temp)
            ans = []
            for _ in range(l):
                ans.append(temp[0].val)
                for child in temp[0].children:
                    temp.append(child)
                temp.pop(0)
            res.append(ans)
        return res
posted @ 2018-10-20 11:51  bernieloveslife  阅读(65)  评论(0编辑  收藏  举报