429. N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :
返回其层序遍历:
[ [1], [3,2,4], [5,6] ]
说明:
1.树的深度不会超过 1000。
2.树的节点总数不会超过 5000。
解法一
递归
"""
# Definition for a Node.
class Node:
def __init__(self, val=None, children=None):
self.val = val
self.children = children
"""
class Solution:
def levelOrder(self, root: 'Node') -> List[List[int]]:
self.traverse_path = []
if root:
self.helper(root, 0)
return self.traverse_path
def helper(self, node, level):
if len(self.traverse_path) == level:
self.traverse_path.append([])
self.traverse_path[level].append(node.val)
for child in node.children:
self.helper(child, level+1)