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;
    }
};
相关推荐
沫璃染墨6 分钟前
现代C++⊂C++11篇(一)列表初始化全解 & std::initializer_list
开发语言·c++
阿米亚波14 分钟前
【C++ STL】std::forward_list
开发语言·c++·笔记·stl·visual studio·forward_list
buhuizhiyuci29 分钟前
【python篇——一周速通python语法】python的条件语句和循环语句
开发语言·python
geovindu33 分钟前
go: Recursion Algorithm
开发语言·后端·算法·golang·递归算法
geovindu38 分钟前
CSharp: Composite Pattern
开发语言·后端·c#·组合模式·结构型模式
消失的旧时光-194344 分钟前
KMP Web 开发实战(二):js、wasmJs、browser、executable 到底是什么意思?
开发语言·前端·javascript·跨平台·kmp
十五年专注C++开发1 小时前
qobject_cast转换失败原因分析
c++·qt·dynamic_cast·qobject_cast
sycmancia1 小时前
Qt——线程的生命期问题
开发语言·qt
影寂ldy1 小时前
C# 多线程进阶知识点(线程优先级、多委托传参、线程锁、死锁)
开发语言·数据库·c#
国服第二切图仔1 小时前
09-搜索工具Grep与Glob
开发语言·javascript·ecmascript