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();
    }
}
相关推荐
一 乐13 小时前
健康打卡|健康管理|基于java+vue+的学生健康打卡系统设计与实现(源码+数据库+文档)
android·java·数据库·vue.js·spring boot·微信小程序
ghie909013 小时前
使用Java实现用户的注册和登录流程
java·数据库·oracle
颜如玉13 小时前
动态拼接SQL实践备忘📝
java·sql·mybatis
9523613 小时前
数据结构-堆
java·数据结构·学习·算法
吃着火锅x唱着歌13 小时前
LeetCode 面试题 16.24.数对和
算法·leetcode·职场和发展
by__csdn13 小时前
Spring Boot 全面解析
java·数据库·spring boot·后端·spring
她说..13 小时前
基于Redis实现的分布式唯一编号生成工具类
java·数据库·redis·分布式·springboot
西岭千秋雪_13 小时前
Kafka客户端参数(一)
java·分布式·后端·kafka·linq
合作小小程序员小小店13 小时前
web网页开发,在线%人力资源管理%系统,基于Idea,html,css,jQuery,java,jsp,ssh,mysql。
java·前端·css·数据库·mysql·html·intellij-idea
Felix_XXXXL13 小时前
28.<Spring博客系统⑤(部署的整个过程
java·后端