589.n-ary-tree-preorder-traversal


589. N叉树的前序遍历

给定一个 N 叉树,返回其节点值的前序遍历。

例如,给定一个 3叉树 :

 

返回其前序遍历: [1,3,5,6,2,4]。

 

说明: 递归法很简单,你可以使用迭代法完成此题吗?

解法一

递归

"""
# Definition for a Node.
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children
"""
class Solution:
    def preorder(self, root: 'Node') -> List[int]:
      self.traverse_path = []
      self.helper(root)
      return self.traverse_path

    def helper(self, root):
      if root:
        self.traverse_path.append(root.val)
        for child in root.children:
          self.helper(child)