1. 程式人生 > >Leetcode Python N叉樹的層序遍歷

Leetcode Python N叉樹的層序遍歷

"""
# Definition for a Node.
class Node(object):
    def __init__(self, val, children):
        self.val = val
        self.children = children
"""

def levelOrder(root):
    if not root:
        return []
    queue = []
    res = [[]]
    queue.append((root, 0))
    while queue:
        node, level = queue.pop()
        if level >= len(res):
            res.append([])
        res[level].append(node.val)
        for i in node.children:
            tmp.append((i, level+1))
    return res