Java | Leetcode Java题解之第173题二叉搜索树迭代器

题目:

题解:

java 复制代码
class BSTIterator {
    private TreeNode cur;
    private Deque<TreeNode> stack;

    public BSTIterator(TreeNode root) {
        cur = root;
        stack = new LinkedList<TreeNode>();
    }
    
    public int next() {
        while (cur != null) {
            stack.push(cur);
            cur = cur.left;
        }
        cur = stack.pop();
        int ret = cur.val;
        cur = cur.right;
        return ret;
    }
    
    public boolean hasNext() {
        return cur != null || !stack.isEmpty();
    }
}
相关推荐
元亓亓亓20 小时前
Leet热题100--208. 实现 Trie (前缀树)--中等
java·开发语言
拿破轮20 小时前
不小心在idea中点了add 到版本控制 怎么样恢复?
java·ide·intellij-idea
墨染点香21 小时前
LeetCode 刷题【144. 二叉树的前序遍历】
数据结构·算法·leetcode
cynicme1 天前
力扣3318——计算子数组的 x-sum I(偷懒版)
java·算法·leetcode
青云交1 天前
Java 大视界 -- Java 大数据在智能教育学习效果评估与教学质量改进实战
java·实时分析·生成式 ai·个性化教学·智能教育·学习效果评估·教学质量改进
崎岖Qiu1 天前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
Lei活在当下1 天前
【现代 Android APP 架构】09. 聊一聊依赖注入在 Android 开发中的应用
java·架构·android jetpack
不穿格子的程序员1 天前
从零开始刷算法-栈-括号匹配
java·开发语言·
lkbhua莱克瓦241 天前
Java练习-正则表达式 1
java·笔记·正则表达式·github
yue0081 天前
C#类继承
java·开发语言·c#