leetcode 429 n

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:

img

We should return its level order traversal:

1
2
3
4
5
[
[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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class (object):

def helper(self, ans, level, root):
if len(ans) == level:
ans.append([])
ans[level].append(root.val)
for child in root.children:
self.helper(ans, level+1, child)

def levelOrder(self, root):
"""
:type root: Node
:rtype: List[List[int]]
"""
ans = []
if root == None:
return ans
self.helper(ans, 0, root)
return ans