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

leetcode230-二叉搜索树中第K小的元素

leetcode 230
在这里插入图片描述

思路

二叉搜索树特性
  • 左子树所有节点的值均小于当前节点的值
  • 右子树所有节点的值均大于当前节点的值
  • 左右子树也分别是二叉搜索树

根据以上特性,使用中序遍历得到的结果就是从小到大排序的

具体思路如下:

  1. 中序遍历:按照左 - 中 - 右的顺序遍历 二叉搜索树
  2. 计数器:每次访问节点时将计数器减 1
  3. 终止条件:当计数器减到 0 时,当前节点即为第 K 小的元素

实现

var kthSmallest = function (root, k) {let result;const deep = (root) => {// 终止条件if (!root || result !== undefined) return;// 左deep(root.left)// 中k--if (k === 0) {result = root.val}// 右deep(root.right)}deep(root)return result
};
http://www.xdnf.cn/news/14672.html

相关文章:

  • [学习] C语言编程中线程安全的实现方法(示例)
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
  • 《前端资源守卫者:SRI安全防护全解析》
  • OpenCV CUDA模块设备层-----创建一个“常量指针访问器” 的工具函数constantPtr()
  • 从设备自动化到智能管控:MES如何赋能牛奶饮料行业高效生产?
  • IAR平台全面升级,提升瑞萨MCU架构的嵌入式软件开发效率
  • C++语言发展历程-2025
  • 在大数据求职面试中如何回答分布式协调与数据挖掘问题
  • 单片机——浮点数转换4位数码管显示
  • JVM内存模型详解
  • 设计模式精讲 Day 11:享元模式(Flyweight Pattern)
  • STM32和C++ 实现配置文件导入、导出功能
  • uniapp+vue3做小程序,获取容器高度
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • OVS Faucet练习(下)
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 【基础篇-消息队列】——详解 RocketMQ 和 Kafka 的消息模型
  • VR看房:房地产数字化转型的核心引擎
  • RSYNC+IONTIFY数据实时同步
  • 二刷苍穹外卖 day03
  • MySQL基础函数篇
  • (C++)素数的判断(C++教学)(C语言)
  • 逻辑门电路Multisim电路仿真汇总——硬件工程师笔记
  • es中常规的根据字段查询时走什么索引(说明:「常规的根据字段查询」不包含分词查询)
  • 2025-06-22 思考-人的意识与不断走向死亡的过程
  • 文心一言(ERNIE Bot):百度打造的知识增强大语言模型
  • 端侧调用云存储实现头像存储
  • Redis快的原因
  • 扫雷中的数学原理
  • 如何用AI开发完整的小程序<9>—UI自适应与游戏页优化