给定一个 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. display:none与visible:hidden的区别
  2. 用python的turtle画圆-PYTHON练习1-turtle画圆
  3. c++ cstring 转换 char_LeetCode 709. 转换成小写字母
  4. html5 版街头霸王,街头霸王5全DLC整合版
  5. WINDOWS SERVER 2008/2008 R2/2012 最大内存支持
  6. 2019.7.29二维数组
  7. 定积分分部积分典型例题_定积分证明题方法总结六篇
  8. springboot内存占用过高问题排查 - jvm内存使用分析
  9. flashfxp连接后文件名乱码问题
  10. 虚幻4全自动连续射击
  11. 学习笔记25 --贴有图片或者二维码的gazebo模型创建
  12. android 通话录音
  13. 微信小程序编译的错误解决办法:Error: accessSync:fail no such file or directory
  14. 鸿蒙玺绶能升级么,属性激增 《诛仙2》强力装备大集合(三)
  15. 如何彻底关闭2345流氓软件附带的广告(弹窗,工具栏搜索taskbarsearch,右下角信息展示)
  16. 11项关键先进制造技术解读!
  17. ajax提交时页面转圈,jquery的ajax提交时loading提示的处理方法
  18. Continuous Passive Motion (CPM)持续性被动运动
  19. 章节6 文件压缩及解压缩
  20. ns-3构建简单点对点网络

热门文章

  1. IIS7 请求筛选模块被配置为拒绝超过请求内容长度的请求
  2. 【转】js如何准确获取当前页面url网址信息
  3. 台湾“比基尼登山客”遗体运出 山友接其“回家”
  4. iOS开发UI篇--仿射变换(CGAffineTransform)使用小结
  5. [hdu5628]Clarke and math(dirichlet卷积)
  6. tinyhttpd源码分析
  7. rownum与order by
  8. pcie总线频率和带宽_从1.0到6.0的飞跃之路,PCIe总线技术发展解析
  9. SpringBoot的C2C水果商城系统
  10. wordpress禁止恶意HTTP_USER_AGENT