美文网首页
LeetCode-589-N叉树的前序遍历

LeetCode-589-N叉树的前序遍历

作者: 阿凯被注册了 | 来源:发表于2020-11-22 00:48 被阅读0次

原题链接: https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/

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

image.png
解题思路:
  1. 递归&迭代
  2. 迭代法,用栈来存储child节点,因为要顺序遍历同父节点的各个叶子节点,为满足栈的先进后出特性,将children反转后再推入stack。
"""
# 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]:
        if not root: return []
        ans = [root.val]
        if root.children:
            for child in root.children:
                ans.extend(self.preorder(child))
        return ans
"""
# 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]:
        if not root: return None
        stack = [root]
        ans = []
        while stack:
            node = stack.pop()
            ans.append(node.val)
            stack.extend(node.children[::-1])
        return ans

相关文章

  • 二叉树的遍历

    二叉树的遍历 二叉树遍历 分为前序遍历、中序遍历和后序遍历。 前序遍历 (DLR) 先访问根节点,然后前序遍历左子...

  • leecode刷题(28)-- 二叉树的前序遍历

    leecode刷题(28)-- 二叉树的前序遍历 二叉树的前序遍历 给定一个二叉树,返回它的 前序 遍历。 示例:...

  • 数据结构:树的实现和遍历(c++)

    (一)二叉树的遍历——递归实现 二叉树常见的遍历方式分为前序遍历、中序遍历和后序遍历。 1 前序遍历 前序遍历也叫...

  • [LeetCode] 589. N叉树的前序遍历

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

  • 2019-03-12 Day65 待提高

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

  • LeetCode题解之N叉树的前序遍历

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

  • LeetCode-589-N叉树的前序遍历

    原题链接: https://leetcode-cn.com/problems/n-ary-tree-preorde...

  • 二叉树操作

    树节点 逐行顺序解析二叉树 前序遍历二叉树 中序遍历二叉树 后序遍历二叉树 删除指定数值的节点 前序遍历顺序存储的...

  • 前端二叉树

    (一)构造二叉树 (二)中序遍历 (三)前序遍历 前序遍历可以复制二叉树,效率比重新构造二叉树高 (四)后序遍历 ...

  • 二叉树三种遍历Swift代码实现

    二叉树的三种遍历 二叉树 前序遍历 中序遍历 后序遍历 另外 不得不说,得到二叉树的前序遍历和中序遍历的结果或者后...

网友评论

      本文标题:LeetCode-589-N叉树的前序遍历

      本文链接:https://www.haomeiwen.com/subject/ybxeiktx.html