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;
    }
};
相关推荐
浩瀚地学5 小时前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
程序员小寒5 小时前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
七夜zippoe6 小时前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
古城小栈6 小时前
Rust Trait 敲黑板
开发语言·rust
圣保罗的大教堂6 小时前
leetcode 1161. 最大层内元素和 中等
leetcode
闲看云起6 小时前
LeetCode-day6:接雨水
算法·leetcode·职场和发展
HL_风神6 小时前
设计原则之迪米特
c++·学习·设计模式
FL171713146 小时前
MATLAB的Sensitivity Analyzer
开发语言·matlab
黛色正浓6 小时前
leetCode-热题100-贪心合集(JavaScript)
javascript·算法·leetcode
HL_风神6 小时前
设计原则之合成复用
c++·学习·设计模式