题目
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树 :

返回其前序遍历:[1, 3, 5, 6, 2, 4]。
方案一(递归)
"""# Definition for a Node.class Node:def __init__(self, val=None, children=None):self.val = valself.children = children"""class Solution:def preorder(self, root: 'Node') -> [int]:if not root:return []if not root.children:return [root.val]ret = [root.val]for node in root.children:ret.extend(self.preorder(node))return ret
方案二(迭代)
"""# Definition for a Node.class Node:def __init__(self, val=None, children=None):self.val = valself.children = children"""class Solution:def preorder(self, root: 'Node') -> [int]:if not root:return []stack = [root]ret = []while stack:node = stack.pop()ret.append(node.val)if node.children:node.children.reverse()stack.extend(node.children)return ret
原文
https://leetcode-cn.com/explore/learn/card/n-ary-tree/159/traversal/620/
