LC 0429 [M] N ary Tree Level Order Traversal - ALawliet/algorithms GitHub Wiki

like a regular level order traversal only difference is a for loop for n nodes instead of just a left and right node

"""
# Definition for a Node.
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children
"""
from queue import Queue

class Solution:
    def levelOrder(self, root: 'Node') -> List[List[int]]:
        if not root: return []
        res = []
        Q = Queue()
        Q.put(root)
        while not Q.empty():
            level_size = Q.qsize()
            level = []
            for _ in range(level_size):
                node = Q.get()
                level.append(node.val)
                for child in node.children:
                    Q.put(child)
            res.append(level)
        return res