【LeetCode】94.二叉树的中序遍历

题目链接:

94.二叉树的中序遍历

题目描述:

题解:(递归算法实现二叉树中序遍历)

二叉树的中序遍历:按照访问左子树------根节点------右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树

复杂度分析:

  • 时间复杂度 O(N)
  • 空间复杂度 O(N)
cpp 复制代码
/**
 * 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:
    void inorder(TreeNode* root, vector<int>& res){
        if(root == nullptr){
            return;
        }
        inorder(root->left, res);
        res.push_back(root->val);
        inorder(root->right, res);
    }

    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> res;
        inorder(root, res);
        return res;
    }
};
相关推荐
YuTaoShao9 分钟前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx11 分钟前
c语言-指针(数组)练习2
c语言·数据结构·算法
大熊背25 分钟前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
满分观察网友z29 分钟前
别怕树!一层一层剥开它的心:用BFS/DFS优雅计算层平均值(637. 二叉树的层平均值)
算法
杰克尼2 小时前
1. 两数之和 (leetcode)
数据结构·算法·leetcode
YuTaoShao2 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
二进制person7 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6667 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way7 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
.30-06Springfield8 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习