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();
    }
}
相关推荐
IT_Octopus1 分钟前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
许彰午8 分钟前
51-BpmnDesigner集成
java·低代码·架构
蜗牛互联网8 分钟前
Claude放宽生命科学限制:代价是验证、分级和30天留存
java·人工智能·后端
泡海椒27 分钟前
评分系统最佳实践:JQuick-Java实现权重、阈值动态配置评分
java·人工智能·python
三克的油28 分钟前
java-学习1
java·开发语言·学习
hanlin0340 分钟前
刷题笔记:力扣第144题-二叉树的前序遍历
笔记·算法·leetcode
mldong1 小时前
弃用 ZCode,转 DeepSeek Harness:我用 GitHub Actions 自建 Windows 打包的全实录
java·架构
Wang's Blog2 小时前
Java 接入Redis: Redis下载与源码编译安装
java·服务器·redis
农民工老王2 小时前
故障排查:反向代理转发 GET 请求时 JDK 自动追加 Content-Length:0 致后端 500
java·httpclient·content-length
泡海椒2 小时前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf