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();
    }
}
相关推荐
lhldsg4 分钟前
相册印刷实战指南:从设计规范到系统落地全流程解析
java·小程序·架构·设计规范
草青工作室7 分钟前
java-不携带Token也能“打“自己的接口:一个绕开网关鉴权、用 URL 直接调度 SpringMVC 方法的轻量级定时任务方案
java·开发语言
霸道流氓气质13 分钟前
Spring AI提示词模板与动态变量替换
java·python·spring
Object_SC15 分钟前
java 中的泛型
java
s_w.h28 分钟前
【 linux 】线程互斥与同步
java·linux·服务器·开发语言
学长毕业设计29 分钟前
基于SpringBoot的校园二手物品交易系统(源码+文档+讲解视频)
java·spring boot·后端
观无40 分钟前
若依AOP
java
是2的10次方啊43 分钟前
日志不是越多越好:开发优化、常见坑与线上排查命令
java
退休倒计时1 小时前
【每日五题】leetcode TypeScript
算法·leetcode·职场和发展·typescript
ofoxcoding1 小时前
Claude Fable 5.1 API 接入指南:模型标识、五级定价策略、effort 参数与缓存 TTL 配置详解
java·spring·缓存·ai