给定一颗n叉树,返回对它节点值的前序遍历
例如,给定一个3叉树:

返回它的前序遍历为:[1,3,5,6,2,4]
注意:递归很简单,请尝试用迭代的方法完成
1、迭代
def preorder(self, root):
"""
:type root: Node
:rtype: List[int]
"""
if not root:
return []
gBack = []
nodeList = [root]
while nodeList:
node = nodeList.pop(0)
if node:
gBack.append(node.val)
for i in node.children[::-1]:
nodeList.insert(0, i)
return gBack
2、递归
def preorder(self, root):
"""
:type root: Node
:rtype: List[int]
"""
if not root:
return []
gBack = [root.val]
for node in root.children:
gBack += self.preorder(node)
return gBack
算法题来自:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/description/
本文介绍了一种解决N叉树前序遍历问题的算法,提供了递归和迭代两种实现方法。通过实例展示了如何对给定的N叉树进行前序遍历,并返回节点值的遍历结果。
2577

被折叠的 条评论
为什么被折叠?



