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();
    }
}
相关推荐
Mr.Entropy18 小时前
ecplise配置maven插件
java·maven
叙白冲冲18 小时前
tomcat 为啥能一直运行?不像方法那样结束?
java·tomcat
CoderYanger18 小时前
MySQL数据库——3.2.1 表的增删查改-查询部分(全列+指定列+去重)
java·开发语言·数据库·mysql·面试·职场和发展
迷知悟道19 小时前
java面向对象四大核心特征之抽象---超详细(保姆级)
java·后端
PEI0419 小时前
MVCC(多版本并发控制)
java·开发语言·数据库
程序员Xu19 小时前
【LeetCode热题100道笔记】腐烂的橘子
笔记·算法·leetcode
阿维的博客日记19 小时前
LeetCode5最长回文子串
leetcode
天选之女wow19 小时前
【代码随想录算法训练营——Day4】链表——24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II
数据结构·算法·leetcode·链表
半夏陌离20 小时前
SQL 实战指南:电商订单数据分析(订单 / 用户 / 商品表关联 + 统计需求)
java·大数据·前端