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();
    }
}
相关推荐
用户298698530142 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快3 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码3 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking3 小时前
Java微服务练习方式
java·后端·微服务
朦胧之14 小时前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅18 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
程序员晓琪19 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly19 小时前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
众少成多积小致巨20 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
东坡白菜20 小时前
破局全栈:前端开发的Java入门实战记录—JPA(2)
java·后端