[LeetCode&Python] Problem 589. N-ary Tree Preorder Traversal
Posted chiyeung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode&Python] Problem 589. N-ary Tree Preorder Traversal相关的知识,希望对你有一定的参考价值。
Given an n-ary tree, return the preorder traversal of its nodes‘ values.
For example, given a 3-ary
tree:
Return its preorder traversal as: [1,3,5,6,2,4]
.
Note: Recursive solution is trivial, could you do it iteratively?
Recursion Method:
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def preorder(self, root): """ :type root: Node :rtype: List[int] """ l=[] def subpreorderfun(r): if r: l.append(r.val) for c in r.children: subpreorderfun(c) subpreorderfun(root) return l
Iteration Method:
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def preorder(self, root): """ :type root: Node :rtype: List[int] """ l=[] q=[root] if root: p=[] while q: a=q.pop(0) l.append(a.val) for c in a.children: p.append(c) n=len(p) for i in range(n): q=[p.pop()]+q return l
以上是关于[LeetCode&Python] Problem 589. N-ary Tree Preorder Traversal的主要内容,如果未能解决你的问题,请参考以下文章
C++&Python描述 LeetCode C++&Python描述 LeetCode 剑指 Offer 22. 链表中倒数第k个节点
[LeetCode&Python] Problem 202. Happy Number
[LeetCode&Python] Problem 520. Detect Capital
[LeetCode&Python] Problem 383. Ransom Note