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

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.lqws.cn/news/512029.html

相关文章:

  • OSS与NAS混合云存储架构:非结构化数据统一管理实战
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | MovieApp(电影卡片组件)
  • AI时代工具:AIGC导航——AI工具集合
  • 60天python训练营打卡day41
  • Oracle LogMiner日志分析工具介绍
  • 数据库AICD特性之--一致性 Consistency
  • 项目需求评审报告参考模板
  • Linux系统---Nginx配置nginx状态统计
  • leetcode173.二叉搜索树迭代器
  • 计算机网络期末复习
  • OSS生命周期管理自动化:7天冷归档+30天低频访问的合规存储策略(结合企业级数据分级场景)
  • 微控制器及应用/嵌入式微控制器 期末复习指南
  • Flask(六) 数据库操作SQLAlchemy
  • order、sort、distribute和cluster by(Spark/Hive)
  • HarmonyOS开发基础 --面向鸿蒙的TypeScript基础语法一文入门
  • SpringBoot | 越权和数据权限控制的一种实现方案
  • spring01-简介
  • “苏超”拉动周末消费,抖音生活服务:比赛城市迎来普遍消费上涨
  • 鸿蒙 FolderStack 组件全解析:折叠屏悬停布局开发指南
  • 【源码】Reactive 源码
  • c++ 空指针,悬挂指针(悬空指针),野指针
  • 总结汇报思路
  • 重点解析(软件工程)
  • 使用markRaw实例化echarts对象
  • RAG实战 第三章:知识库构建与管理
  • OSS安全合规实战:金融行业敏感数据加密+KMS自动轮转策略(满足等保2.0三级要求)
  • 宝塔服务器调优工具 1.1(Opcache优化)
  • 跟着chrome面板优化页面性能
  • 中断控制与实现
  • 《C++》命名空间简述