二叉树前、中、后的遍历

144.二叉树的前序遍历
145.二叉树的后序遍历
94. 二叉树的中序遍历

关于二叉树的前中后序遍历,一般都是用递归

前序:中左右

中序:左中右

后序:左右中

中在前就是前序,中在中间就是中序,中在后就是后续

如何表示结点被遍历?只需要将该结点的值放入数组中存储即可

前序遍历代码:

cpp 复制代码
class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& vec) {
        if(cur == NULL)
        {
            return ;
        }
        vec.push_back(cur ->val);
        traversal(cur ->left, vec);
        traversal(cur ->right, vec);


    }
    vector<int> preorderTraversal(TreeNode* root) {
            vector<int> result;
            traversal(root,result);
            return result;
    }
};

中序遍历代码:

cpp 复制代码
class Solution {
public:
    void rev(TreeNode* cur, vector<int>& vec)
    {
        if(cur == NULL) return;
        rev(cur ->left, vec);
        vec.push_back(cur ->val);
        rev(cur ->right,vec);
    }
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> result;
        rev(root,result);
        return result;
    }
};

后续遍历代码:

cpp 复制代码
class Solution {
public:
    void rev(TreeNode* cur,vector<int>& vec)
    {
        if(cur == NULL) return;
        rev(cur ->left, vec);
        rev(cur ->right, vec);
        vec.push_back(cur ->val);
    }



    vector<int> postorderTraversal(TreeNode* root) {
        vector<int> result;
        rev(root,result);
        return result;
    }
};
相关推荐
xiangyun611 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun612 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
OKkankan3 小时前
LangChain 能力详解!:输出解析、RAG、向量数据库与 Retriever 检索器
数据结构·python·langchain·ai应用
蓝速科技3 小时前
便民服务大厅 AI 数字人一体机场景适配与落地指南丨蓝速科技
大数据·网络·数据结构·人工智能·自然语言处理·数据分析·运维开发
xxwxx__3 小时前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
Logic1014 小时前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
xxwxx__7 小时前
C++ STL set 与 map 全套详解:关联式容器、红黑树底层、代码坑点、刷题实战
数据结构·c++
程曦曦7 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
郝学胜-神的一滴8 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质