当前位置: 首页 > news >正文

leetcode173.二叉搜索树迭代器

 直接维护一个数组和一个数组下标,中序遍历把二叉搜索树中的值按照顺序放入到数组中

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class BSTIterator {private List<Integer> list;private int index;public BSTIterator(TreeNode root) {list = new ArrayList<>();index = 0;inorderTraversal(root);}public int next() {return list.get(index++);}public boolean hasNext() {return index < list.size();}private void inorderTraversal(TreeNode root) {if (root != null) {inorderTraversal(root.left);list.add(root.val);inorderTraversal(root.right);}}
}/*** Your BSTIterator object will be instantiated and called as such:* BSTIterator obj = new BSTIterator(root);* int param_1 = obj.next();* boolean param_2 = obj.hasNext();*/

 

http://www.dtcms.com/a/258862.html

相关文章:

  • 深入理解 BOM:浏览器对象模型详解
  • RabbitMQ是什么?以及优缺点
  • Kafka 监控与调优实战指南(一)
  • 通过Prompt提示构建思维链
  • FSMC控制LCD(TFTLCD:Z350IT002)显示案例
  • OpenAI-Kotlin文档详解
  • 基于目标驱动的分布式敏捷开发
  • 顺序表整理和单项链表01 day20
  • 华为云Flexus+DeepSeek征文 | 基于华为云的 Dify-LLM 企业级 AI 开发平台部署指南
  • AI 产品部署和交付的基础设施——全景解析
  • 【Linux手册】环境变量与命令行参数:贯穿系统与应用的隐形桥梁
  • 09.【C语言学习笔记】指针(一)
  • Spring Ai Alibaba Graph实现五大工作流模式
  • 马克思主义基本原理期末复习下
  • Tomcat服务
  • 60天python训练营打卡day41
  • # Python中等于号的使用
  • 创建首个 Spring Boot 登录项目
  • VSCode源码解析-程序的启动逻辑
  • 彻底拆解 Vue scoped 指令:从编译原理到工程实践的全链路解析
  • 【Spring底层分析】AOP的cligb代理和jdk代理
  • 逆向入门(7)汇编篇-mul指令的学习
  • 《C++》命名空间简述
  • 云电脑,“死”于AI时代前夕 | 数智化观察
  • JVM(12)——详解G1垃圾回收器
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月24日第118弹
  • Python移除链表元素-虚拟节点
  • 植物小知识
  • [密码学实战]商密TLCP协议抓包解析与深度分析(二十九)
  • 云原生周刊:Argo CD v3.1 正式发布