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;
    }
};
相关推荐
凌波粒几秒前
LeetCode--90.子集II(回溯算法)
数据结构·算法·leetcode
旖-旎6 分钟前
《LeetCode 417 太平洋大西洋水流问题 FloodFill DFS 解法》
c++·算法·深度优先·力扣·floodfill
凌波粒9 分钟前
LeetCode--46.全排列(回溯算法)
数据结构·算法·leetcode
dadaobusi11 分钟前
RISC-V 虚拟化:虚拟机TLB处理
java·开发语言
夏幻灵11 分钟前
深度解析 JavaScript 异步编程:从回调地狱到 Promise 的重构
开发语言·javascript·重构
鱼子星_14 分钟前
C++从零开始系列篇(二):C++入门——函数重载,引用,inline与nullptr
开发语言·c++·笔记
程序猿乐锅21 分钟前
【 苍穹外卖day03 | 菜品管理 】
java·开发语言·数据库·mysql
派大鑫wink21 分钟前
Java 高级编程技巧(生产级实用,覆盖性能、并发、设计、JVM、语法、避坑)
开发语言·python
JSON_L22 分钟前
PHP实现大文件分片上传
开发语言·php
凤山老林24 分钟前
JDK 11 升级至 JDK 17
java·开发语言·jdk17·jdk升级·jdk11