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;
    }
};
相关推荐
lilili也13 分钟前
visual studio add matlab
c语言·c++
Forever Nore18 分钟前
LeetCode 1 两数之和
算法·leetcode·职场和发展
福如意如我心意30 分钟前
java虚拟线程和Go协程的区别
开发语言
To_OC34 分钟前
LC 3 无重复字符的最长子串:从入门滑动窗口到优化写法,再也不怕面试官追问
javascript·算法·leetcode
weixin_4407841139 分钟前
Java基础常见题
java·开发语言·python·java基础
(Charon)1 小时前
【C++】多线程死锁:产生原因、复现与解决方法
开发语言·c++·算法
跨境小彭1 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python
今天AI了吗1 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python
oier_Asad.Chen2 小时前
【洛谷题解/AcWing题解/真题】洛谷P2330【SCOI2005】繁忙的都市(Kruskal算法的再探究))
c++·算法·贪心算法·图论·最小生成树·kruskal
雪之下雪乃的代码日记2 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python