【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;
    }
};
相关推荐
add45a10 分钟前
C++代码移植性设计
开发语言·c++·算法
ccLianLian14 分钟前
leetcode-hot100
算法·leetcode·职场和发展
qq_1481153715 分钟前
分布式系统容错设计
开发语言·c++·算法
m0_5603964718 分钟前
C++中的享元模式
开发语言·c++·算法
左左右右左右摇晃21 分钟前
数据结构——数组
数据结构·笔记·算法
nainaire24 分钟前
速通LeetCode hot100——(1~9 哈希,双指针,滑动窗口)
c++·笔记·算法·leetcode
2501_9249526924 分钟前
分布式缓存一致性
开发语言·c++·算法
studyForMokey1 小时前
【Android面试】窗口机制专题
android·面试·职场和发展
萍萍学习1 小时前
蓝桥杯JAVA-4
java·职场和发展·蓝桥杯