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();
    }
}
相关推荐
java硕哥4 分钟前
Spring源码debug方法
java·后端·spring
杂货铺的小掌柜16 分钟前
MAC版IDEA常用快捷键
java·macos·intellij-idea
leoufung24 分钟前
LeetCode 67. Add Binary:从面试思路到代码细节
算法·leetcode·面试
xjz184228 分钟前
JVM虚拟线程:JEP 444开启Java并发编程新纪元
java
JH307329 分钟前
Spring Retry 实战:优雅搞定重试需求
java·后端·spring
无限进步_33 分钟前
【C语言】循环队列的两种实现:数组与链表的对比分析
c语言·开发语言·数据结构·c++·leetcode·链表·visual studio
蓝眸少年CY43 分钟前
测试Java性能
java·开发语言·python
何包蛋H43 分钟前
数据结构深度解析:Java Map 家族完全指南
java·开发语言·数据结构
linsa_pursuer1 小时前
最长连续序列
java·数据结构·算法·leetcode
强子感冒了1 小时前
Java集合框架深度学习:从Iterable到ArrayList的完整继承体系
java·笔记·学习