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();
    }
}
相关推荐
Sam_Deep_Thinking16 小时前
Spring Bean作用域的设计与使用
java·后端·spring
Devin~Y16 小时前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux
TaoSense16 小时前
全球消费类家庭安防监控行业深度研究报告:AI 驱动下的产业变革与投资机遇
java·人工智能·struts
随风,奔跑16 小时前
SpringCloudAlibaba(二)
java·spring·ribbon·负载均衡
慕容卡卡16 小时前
SpringAI的那些事儿
java·人工智能·spring boot
鱼鳞_16 小时前
Java学习笔记_Day33(高级流)
java·笔记·学习
帅小伙―苏16 小时前
力扣128.最长连续序列
算法·leetcode
Pkmer16 小时前
Java古法入门到精通
java
2501_9130613417 小时前
网络编程——了解客户端与服务器端之间的交互(1)
java·网络
tumeng071117 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud