(迭代法)145. 二叉树的后序遍历

原题链接:(迭代法)145. 二叉树的后序遍历

思路是跟迭代法前序遍历一样的

但是要注意,需要交换入栈顺序

遵循入栈先进后出原则,迭代法的前序顺序是中右左,而后序是中左右,这一点是跟递归的前序后序顺序相反的

最后要把result容器内的值反转一下 就是迭代法后续遍历的值

全代码:

cpp 复制代码
class Solution {
public:
    vector<int> postorderTraversal(TreeNode* root) {
        stack<TreeNode*> stackA;
        vector<int> result;
        stackA.push(root);
        while(!stackA.empty())
        {
            TreeNode* Node = stackA.top();
            stackA.pop();
            if(Node == NULL) continue;
            result.push_back(Node ->val);
            //相比于前序,后续需要更改下入栈顺序,先进后出
            //所以迭代法前序入栈应该是中右左,后序应该是中左右,这一点是跟递归相反的
            stackA.push(Node ->left);
            stackA.push(Node ->right);
        }
        reverse(result.begin(),result.end());
        return result;
    }
};
相关推荐
爱吃火鸡面呀27 分钟前
Doris 数据划分实战:List 分区、分桶列与桶数选择
数据结构·list
BK贝壳7 小时前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
挖井观天16 小时前
《Java数据结构》第一讲:顺序表
数据结构
炘爚18 小时前
数据结构算法总结
数据结构·python·算法
见叶之秋19 小时前
【C++】红与黑的边界:红黑树从插入到自检
数据结构·c++·算法·面试
kiracrimson20 小时前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
CQU_JIAKE21 小时前
10.25【A】
数据结构·算法
海清河晏1111 天前
加油站问题
数据结构·算法·leetcode
GG.WinGel1 天前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯
敲代码的苦131 天前
头歌 数据结构—消防资源调度
数据结构·算法