C++速通LeetCode中等第25题-验证二叉搜索树(中序遍历堆栈迭代法)

cpp 复制代码
class Solution {
public:
    int kthSmallest(TreeNode* root, int k) {
        stack<TreeNode *> stack;
        while (root != nullptr || stack.size() > 0) {
            while (root != nullptr) {
                stack.push(root);
                root = root->left;
            }
            root = stack.top();
            stack.pop();
            --k;
            if (k == 0) {
                break;
            }
            root = root->right;
        }
        return root->val;
    }
};
相关推荐
利刃大大4 分钟前
【c++中间件】Elasticsearch介绍与安装 && 核心概念 && Kibana && 二次封装
c++·elasticsearch·中间件
catchadmin6 分钟前
使用 PHP 和 Raylib 也可以开发贪吃蛇游戏
开发语言·游戏·php
p***434837 分钟前
JavaScript数据分析实战
开发语言·javascript·ecmascript
蓝天智能1 小时前
立体字型效果的Qt QSS实现
开发语言·qt
艾莉丝努力练剑1 小时前
【C++:哈希表】从哈希冲突到负载因子:熟悉哈希表的核心机制
开发语言·c++·stl·散列表·哈希表·哈希·映射
虾..1 小时前
C++ 特殊类的设计
开发语言·c++
拾忆,想起2 小时前
Dubbo超时问题排查与调优指南:从根因到解决方案
服务器·开发语言·网络·微服务·架构·php·dubbo
7ioik3 小时前
什么是线程池?线程池的作用?线程池的四种创建方法?
java·开发语言·spring
晨非辰3 小时前
数据结构排序系列指南:从O(n²)到O(n),计数排序如何实现线性时间复杂度
运维·数据结构·c++·人工智能·后端·深度学习·排序算法
寻星探路3 小时前
JavaSE重点总结后篇
java·开发语言·算法