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

  1. 仅练习迭代写法
  2. 时间复杂度是 O(n)O(n)O(n),空间复杂度是 O(n)O(n)O(n)
  3. 是辅助栈来解决这个问题
  4. 栈用 push
  5. vector 用 push_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;
    }
};
相关推荐
强哥聊算力1 小时前
《算力江湖·Intel帝国往事》第三集:安迪·格鲁夫的铁血时代:Intel为什么能把对手逼到墙角?
运维·人工智能·科技·算法·ai·gpu算力
Shaoshing1 小时前
LeetCode100 11. 盛最多水的容器
算法·leetcode
骑着蜗牛撵大象3272 小时前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
Eyfcom2 小时前
〖阶段性回顾〗物流系统架构与算法的 Day 1-5 知识图谱与实战答疑
算法·系统架构·知识图谱·物流管理系统·快递管理系统
xunberg2 小时前
【Agent 生产化手记-02】Agent 怎么向人提问
人工智能·算法·架构
海绵宝宝转agent2 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
Rain的Java大神之路2 小时前
面试被LeetCode 27(移除元素)问懵?别再用两层 for 循环了:一道“简单题”吃透双指针原地删除,附面试加分话术 + 11 个避坑清单
后端·leetcode·面试
pjj198542 小时前
YOLO 目标检测算法系列梳理:从 V1 到 V5 的原理演进
算法·yolo·目标检测
二十七日秋3 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
晚风叙码3 小时前
Linux 进程概念(下):程序地址空间与虚拟内存
linux·服务器·算法