首页 > 其他分享 >145. 二叉树的后序遍历

145. 二叉树的后序遍历

时间:2023-05-21 15:33:44浏览次数:42  
标签:遍历 TreeNode val res 145 right 二叉树 root left

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    vector<int> postorderTraversal(TreeNode* root) {
        vector<int> res;
        stack<TreeNode*> st;
        while(root||st.size())
        {
            while(root)
            {
                res.push_back(root->val);
                st.push(root);
                root=root->right;
            }
            root=st.top();
            st.pop();
            root=root->left;
        }
        reverse(res.begin(),res.end());
        return res;
    }
};

标签:遍历,TreeNode,val,res,145,right,二叉树,root,left
From: https://www.cnblogs.com/tangxibomb/p/17418663.html

相关文章

  • 94. 二叉树的中序遍历
    classSolution{public:vector<int>inorderTraversal(TreeNode*root){vector<int>res;stack<TreeNode*>st;while(root||st.size()){while(root){st.push(root......
  • Java二叉树详解
    当你看到一棵茂盛的大树时,你是否曾想过这样的问题:它是如何生长起来的?落叶归根,数百年来,不断地生长与死亡。其实,每个程序员也可以成为一棵大树的缔造者。而Java的二叉树,就像互联网上的知识一样,通过它的枝干和叶子,能够让我们更加高效地搜索、插入和删除节点。虽然二叉树算法并不简单......
  • 第五章 树的存储,树和森林的遍历
    双亲表示法(顺序存储)孩子表示法(顺序+链式存储)孩子兄弟表示法(链式存储)树和二叉树的转换森林和二叉树的转换知识回顾树和森林的遍历树的定义笑死树的先根遍历树的后根遍历先根遍历和后根遍历称为深度优先遍历树的层次遍历称为广度优先遍历森林的......
  • 力扣---236. 二叉树的最近公共祖先
    给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例1:输入:root=[3,5,1,6,2,0,8,null,n......
  • org.apache.jasper.JasperException: /pages/role-list.jsp (行.: [145], 列: [8]) 根
    org.apache.jasper.JasperException:/pages/role-list.jsp(行.:[145],列:[8])根据标记文件中的TLD或attribute指令,attribute[items]不接受任何表达式 web.xml中版本号不兼容产生的问题;解决方法:<%@taglibprefix=“c”uri=“http://java.sun.com/jstl/core”%>改为<%@t......
  • 力扣---1372. 二叉树中的最长交错路径
    给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下:选择二叉树中任意 节点和一个方向(左或者右)。如果前进方向为右,那么移动到当前节点的的右子节点,否则移动到它的左子节点。改变前进方向:左变右或者右变左。重复第二步和第三步,直到你在树中无法继续移动。交错路径的长度......
  • Uva--297 Quadtrees(非二叉树/四叉树)
    记录18:342023-5-20uva.onlinejudge.org/external/2/297.htmlreference:《算法竞赛入门经典第二版》例题6-11非二叉树,这还是比较有趣的,图形学上还有八叉树用来划分空间的。这道题将图和四叉巧妙的结合起来,其原理也是使用先序遍历,边读边建树#include<cstdio>#include<cstri......
  • Uva--699 The Falling Leaves,(二叉树的递归遍历)
    记录10:462023-5-20http://uva.onlinejudge.org/external/6/699.htmlreference:《算法竞赛入门经典第二版》例题6-10二叉树的层次遍历,边读边写(这些题给我感觉是非常灵活),对每个节点需要的数据就是在sum数组的位置#include<cstdio>#include<iostream>#include<sstream>#d......
  • LeetCode 105. 从前序与中序遍历序列构造二叉树
    题目链接:LeetCode105.从前序与中序遍历序列构造二叉树题意:给定两个整数数组 preorder和inorder ,其中 preorder是二叉树的先序遍历,inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。解题思路:模拟手动构建的过程,注意下标的变化。完整代码如下:/***Defini......
  • ES6 常见的数组遍历方法
           ......