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();
    }
}
相关推荐
それども11 分钟前
Spring Bean 的name可以相同吗
java·后端·spring
墨雪不会编程15 分钟前
C++ string 详解:STL 字符串容器的使用技巧
java·开发语言·c++
Lucky GGBond16 分钟前
实践开发:老系统新增字段我是如何用枚举优雅兼容历史数据的
java
悲喜自渡72118 分钟前
Python 编程(gem5 )
java·linux·开发语言
xing-xing1 小时前
JVM 内存、直接内存、系统内存、本地内存、物理内存总结
java·jvm
yangpipi-1 小时前
《C++并发编程实战》第5章 C++内存模型和原子操作
android·java·c++
qq_12498707532 小时前
基于微信小程序的电子元器件商城(源码+论文+部署+安装)
java·spring boot·spring·微信小程序·小程序·毕业设计
XFF不秃头2 小时前
力扣刷题笔记-旋转图像
c++·笔记·算法·leetcode
吃喝不愁霸王餐APP开发者2 小时前
基于Spring Cloud Gateway实现对外卖API请求的统一鉴权与流量染色
java·开发语言
a努力。2 小时前
美团Java面试被问:Redis集群模式的工作原理
java·redis·后端·面试