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();
    }
}
相关推荐
linge_sun1 分钟前
Sping AI 使用 Ollama 快速搭建本地知识库
java·人工智能·ai编程
沐苏瑶1 分钟前
深入浅出 Java 文件操作与 IO:从文件系统到数据流实战
java·开发语言
fengxin_rou4 分钟前
LeetCode链表经典五题:从相交到环形,双指针的妙用
算法·leetcode·链表
唐青枫7 分钟前
Java MyBatis-Plus 实战指南:用 BaseMapper、Wrapper 和分页写好数据层
java·mybatis
linge_sun8 分钟前
SpringAI RAG 智能问答实战:用自然语言查询知识库
java·人工智能·ai编程
写代码写到手抽筋8 小时前
5G上行DCI字段判定:端口 流数 PMI选择详解
java·算法·5g
xieliyu.8 小时前
Java算法精讲:双指针(二)
java·开发语言·算法
jeffer_liu9 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
小bo波10 小时前
枚举实战
java·设计模式·枚举·后端开发·代码重构