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();
    }
}
相关推荐
程序员清风1 分钟前
Dubbo RPCContext存储一些通用数据,这个用手动清除吗?
java·后端·面试
摇滚侠5 分钟前
Spring Boot 3零基础教程,条件注解,笔记09
java·spring boot·笔记
南瓜小米粥、7 分钟前
从可插拔拦截器出发:自定义、注入 Spring Boot、到生效路径的完整实践(Demo 版)
java·spring boot·后端
Huangmiemei9118 分钟前
Spring Boot项目的常用依赖有哪些?
java·spring boot·后端
天天摸鱼的java工程师17 分钟前
接口联调总卡壳?先问自己:真的搞清楚 HTTP 的 Header 和 Body 了吗?
java·后端
真的想不出名儿22 分钟前
上传头像到腾讯云对象存储-前端基于antdv
java·数据库·腾讯云
Nan_Shu_61431 分钟前
学习SpringBoot
java·spring boot·后端·学习·spring
JAVA学习通1 小时前
SpringBoot Layui ThymeLeaf 一点点学习心得
java·spring
考虑考虑1 小时前
JDK25中的StructuredTaskScope
java·后端·java ee
雨过天晴而后无语1 小时前
Windchill的codebase目录打成jar
java·jar