N-ary Tree Level Order Traversal
from collections import deque
class Solution:
def levelOrder(self, root: 'Node') -> List[List[int]]:
dq = deque([])
vset = set([])
result = {}
dq.append((0, root))
while dq:
lvl, node = dq.pop()
if node:
for child in node.children:
dq.appendleft((1 + lvl, child))
if lvl not in result:
result[lvl] = []
result[lvl].append(node.val)
return [result[k] for k in sorted(result)]