二叉树前、中、后的遍历

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;
    }
};
相关推荐
m0_547486661 天前
《数据结构教程》全套 PPT课件2026
数据结构
tryxr2 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_32 天前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
All for pursuit.2 天前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
All for pursuit.2 天前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
渡我白衣2 天前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
晴天的雨.9922 天前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
淡海水2 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic1012 天前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
2401_839080542 天前
C++常见八股
数据结构·c++·算法