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 分钟前
112. 路径总和
java·前端·算法
workflower24 分钟前
多变量时间序列预测
java·hadoop·nosql·需求分析·big data·结对编程
Volunteer Technology1 小时前
DynamicTP动态线程池(四)
java·spring boot·后端·spring
野犬寒鸦1 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
sprintzer1 小时前
2.06-2.15力扣数学刷题
算法·leetcode·职场和发展
前路不黑暗@2 小时前
Java项目:Java脚手架项目的统一模块的封装(四)
java·开发语言·spring boot·笔记·学习·spring cloud·maven
喵呜嘻嘻嘻2 小时前
Gurobi求解器参数
java·数据结构·算法
消失的旧时光-19432 小时前
第二十四课:从 Java 后端到系统架构——后端能力体系的最终总结
java·开发语言·系统架构
卓怡学长2 小时前
m225在线房屋租赁和电子签约系统的设计与实现
java·数据库·spring·tomcat·maven·intellij-idea