力扣:94.二叉树的中序遍历

  1. 仅练习迭代写法
  2. 时间复杂度是 O(n)O(n)O(n),空间复杂度是 O(n)O(n)O(n)
  3. 是辅助栈来解决这个问题
  4. 栈用 push
  5. vectorpush_back
  6. 不要访问空指针 nullptr,防止越界
cpp 复制代码
class Solution {
public:
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> res;
        TreeNode *cur = root;
        stack<TreeNode*> stk;
        while ( !stk.empty() || cur ) {
            while ( cur ) {
                stk.push( cur );
                cur = cur->left;
            }
            cur = stk.top();
            stk.pop();
            res.push_back( cur->val );
            cur = cur->right;
        }
        return res;
    }
};
相关推荐
wabs66628 分钟前
关于图论【广度优先搜索的理论基础】
算法·图论·宽度优先
孤魂23332 分钟前
逻辑回归算法
算法·机器学习·逻辑回归
weixin_3776348436 分钟前
【多模型预测】 如何合理融合多个预测分值
算法·机器学习·概率论·预测·agent预测
无风听海42 分钟前
Claude Agent Skills 的四种设计模式;从渐进式披露到最小权限
java·算法·设计模式
37.2℃9951 小时前
专业的Claude Design解决方案
前端·算法
め.1 小时前
定点数运算库
算法·unity
yuannl101 小时前
图的深度优先遍历DFS
数据结构
dyxal1 小时前
最长公共子序列(LCS)
python·算法
稚南城才子,乌衣巷风流3 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm4 小时前
9 找到字符串中所有字母异位词
c++·算法·leetcode