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();
    }
}
相关推荐
宫瑾16 分钟前
【C语言】嵌入式C加强学习
java·c语言·学习
June bug16 分钟前
(#数组/链表操作)寻找两个正序数组的中位数
数据结构·python·算法·leetcode·面试·职场和发展·跳槽
结衣结衣.29 分钟前
protobuf介绍与快速上手
java·服务器·html
TracyCoder12344 分钟前
LeetCode Hot100(8/100)—— 438. 找到字符串中所有字母异位词
算法·leetcode
时艰.1 小时前
JVM — Java 类加载机制
java·开发语言·jvm
June bug1 小时前
(#数组/链表操作)最长上升子序列的长度
数据结构·程序人生·leetcode·链表·面试·职场和发展·跳槽
hadage2331 小时前
--- 力扣oj柱状图中最大的矩形 单调栈 ---
算法·leetcode·职场和发展
哪里不会点哪里.1 小时前
Spring MVC 核心原理解析:从请求到响应到底发生了什么?
java·spring·mvc
json{shen:"jing"}1 小时前
18. 四数之和
数据结构·算法·leetcode
WKP94181 小时前
线程并行控制CompletableFuture
java·开发语言