尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

LC.230 | 二叉搜索树中第 K 小的元素 | 树 | 中序遍历计数

LC.230 | 二叉搜索树中第 K 小的元素 | 树 | 中序遍历计数
📅 发布时间:2026/6/18 18:35:59

输入:二叉搜索树根节点root,整数k(从 1 开始计数)。

要求:返回 BST 中第k小的元素。

输出:一个整数(第k小的节点值)。


思路:

BST + 中序遍历的经典应用:
BST 的中序遍历结果是严格递增序列,所以“第 k 小” = “中序遍历第 k 个访问到的节点”。

  1. 用k作为计数器(引用传递)
    中序遍历每访问一个节点就--k,当k == 0时当前节点值就是答案。

  2. 提前结束遍历(剪枝)
    递归函数返回bool:

    • true表示已经找到答案,沿递归栈一路返回,不再继续遍历右子树/后续节点。
      这样避免无意义的遍历,尤其当k很小的时候很省事。

复杂度:

  • 时间复杂度:O(H + k)(最坏 O(N))
    走到最左边需要 O(H),然后访问到第 k 个需要 O(k)。极端情况下退化到 O(N)。
  • 空间复杂度:O(H)
    递归栈深度等于树高。

classSolution{public:intkthSmallest(TreeNode*root,intk){ans=-1;inorder(root,k);returnans;}private:intans;// 返回 true 表示已经找到答案,后续直接提前结束boolinorder(TreeNode*node,int&k){if(!node)returnfalse;if(inorder(node->left,k))returntrue;if(--k==0){ans=node->val;returntrue;}returninorder(node->right,k);}};

相关新闻

  • LC.538 | 把二叉搜索树转换为累加树 | 树 | 逆向中序遍历(右-根-左)
  • 【好写作AI】从害怕写作到享受表达:AI改变了什么?——论文作者的心态重塑之旅
  • Elasticsearch日志接入Kibana的项目应用详解

最新新闻

  • 上海本地贵金属流通规则,2026 黄金回收各类附加损耗明细讲解 - 奢侈品回收测评
  • 3分钟掌握Reflex框架:用纯Python构建全栈Web应用
  • OpCore-Simplify终极指南:从8小时到15分钟,轻松完成macOS安装配置
  • 2026 安徽芜湖市高考落榜怎么办?安徽工贸职业技术学院公办单招复读班招生简章官网发布:线上报名入口+完整报考指南、招生计划、录取条件 - cc江江
  • MC68HC908TV24 TIM模块深度解析:从输入捕获到PWM生成的嵌入式定时器实战
  • 2026年新疆秋季摄影旅游向导选择和北疆路线参考指南 - 盛世西域旅行

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号