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

例如,给定一个 3叉树 :

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

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

/*
// Definition for a Node.
class Node {
public:
    int val;
    vector<Node*> children;

Node() {}

Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
public:
    vector<int> postorder(Node* root) {
        if (!root) return {};
        vector<int> res;
        stack<Node*> st{{root}};
        while (!st.empty()) {
            Node *t = st.top(); st.pop();
            res.insert(res.begin(), t->val);
            for (Node* child : t->children) {
                if (child) st.push(child);
            }
        }
        return res;
    }
};

590. N叉树的后序遍历相关推荐

  1. LeetCode Algorithm 590. N 叉树的后序遍历

    590. N 叉树的后序遍历 Ideas N叉树的后序遍历其实就是前序遍历翻转过来,所以我们可以用栈模拟递归得到前序遍历序列,然后翻转一下就OK了. Code Python class Solutio ...

  2. leetcode 589. N 叉树的前序遍历,590. N 叉树的后序遍历(Java版)

    589. N 叉树的前序遍历 https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/ 题解 import java.util.A ...

  3. LeetCode 590. N叉树的后序遍历(后序遍历)

    文章目录 1. 题目 2. 解题 2.1 递归 2.2 循环 1. 题目 2. 解题 2.1 递归 class Solution {public:vector<int> postorder ...

  4. 2022-5-1 Leetcode 590.N叉树的后序遍历

    递归法 class Solution {public:vector<int> postorder(Node* root) {vector<int> ans;recursion( ...

  5. [LeetCode] N-ary Tree Postorder Traversal N叉树的后序遍历

    Given an n-ary tree, return the postorder traversal of its nodes' values. For example, given a 3-ary ...

  6. LeetCode(590)——N叉树的后序遍历(JavaScript)

    给定一个 N 叉树,返回其节点值的后序遍历. 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? /*** // Defin ...

  7. leetcode590. N叉树的后序遍历

    给定一个 N 叉树,返回其节点值的后序遍历. 例如,给定一个 3叉树 : 思路:先遍历所有孩子,再放入自己. /* // Definition for a Node. class Node {publ ...

  8. C#LeetCode刷题之#590-N叉树的后序遍历(N-ary Tree Postorder Traversal)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4092 访问. 给定一个 N 叉树,返回其节点值的后序遍历. 例如 ...

  9. Leetcode 590: N-ary树的后序遍历

    想法: 后序遍历指先拜访左右子树,然后再拜访根. 我们可以利用深度优先算法遍历这个N-ary树. 注意,N-ary树有不止一个子树,我们可以利用一个for loop遍历所有的子树. 我们可以利用一个l ...

  10. 二叉树N叉数的前中后序遍历总结,python实现递归法和迭代法

    关于二叉树的前序遍历(preoder).中序遍历(inorder)和后序遍历(postorder),实际上只需要记住:左子节点一定在右子节点的左边(左右),所谓前中后序遍历就是根节点的位置不同,前序是 ...

最新文章

  1. jpa单向一对多关联映射
  2. python udp client
  3. java 调整数组顺序使奇数位于偶数前面
  4. 大佬对协程以及try except的详细解释
  5. JavaBean 持久化
  6. 【Java】Stream流和方法引用
  7. linux如何加入windows域
  8. 英语面试功略:英语口语突击法
  9. 赢利定位是网站建设前提
  10. 骑行GPS导航套件:多普达D600+夏新GPS-166+灵图天行者9配合,伴我骑行千里
  11. NYOJ 取石子总结
  12. unity3d通过粒子系统制作火焰效果
  13. 安全性测试(一)--网页安全检查
  14. 抖音开屏广告和信息流广告相比较哪一种效果更好?
  15. 什么是常见的计算机应用软件,什么是计算机的应用软件?
  16. 谷歌浏览器下载速度很慢,怎么解决?
  17. java中的标号:outer的作用
  18. 中关村回收贩曝黑幕:翻新一部iPhone4可赚2000元
  19. html坦克游戏,HTML5制作的坦克游戏
  20. 重新定义汽车人机界面开发,Unity HMI模板正式开放使用

热门文章

  1. 二维码生成,打包下载zip,BigDecimal的取值和计算,java发送http请求
  2. Controller中servletFileUpload.parseRequest(request)解析为空
  3. spring mvc静态资源放行
  4. Pandas DataFrame 函数应用和映射
  5. 【重构与模式】6.1用Creation Method替换构造函数
  6. JBuilder 2005 Enterprise注册破解
  7. 多个时间合并并集mysql_写个 Go 时间交并集小工具
  8. JSP 中 forward 转发 和 sendRedirect 重定向的区别
  9. 基于python的销售系统_python实现超市商品销售管理系统
  10. STM32——库函数版——数码管动态显示程序