news 2026/4/15 18:34:54

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LC.230 | 二叉搜索树中第 K 小的元素 | 树 | 中序遍历计数

输入:二叉搜索树根节点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);}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 10:49:11

c++进程池(Linux)的实现(2025.12.22)

学习比特课程后,学习总结和代码实现。这节课产生了两点困惑,查阅资料后,有一下理解:1.“FD 数值相同”≠“指向同一个管道”比如两次pipe()可能都生成pipefd[0]3(因为前一轮父进程关闭了读端 3,FD 号被复用…

作者头像 李华
网站建设 2026/3/31 0:40:44

多通道小动物代谢监控系统 小动物代谢监测系统 小动物代谢检测系统

小动物代谢系统(AMMS)具有实时统计、自动化等优点,提高了药物研发和基础生命科学研究的效率,减少手工操作带来数据偏差及误差。, 在动物无拘束状态下,进行多通道测量Amms能实时统计大小鼠的饮食量、饮水量、运动量3个指标饮食槽设计防止粪…

作者头像 李华
网站建设 2026/4/1 14:09:20

AI论文助手推荐:8个高效工具实现自动降重与内容优化

在AI论文辅助工具领域,多款平台各具特色,涵盖降重、AIGC检测优化及论文撰写等核心功能。通过对8款主流工具的横向评测,结合实际测试结果与用户体验反馈,以下为综合性能排名(评估维度包括处理效率、内容准确性及操作便捷…

作者头像 李华
网站建设 2026/3/29 18:46:10

动态规划(六)——分治优化DP 算法设计与分析 国科大

本文内容紧接动态规划(五),讨论如何优化序列对齐算法Hirschberg算法上文最后提到的解决方案,是维护一个OPT矩阵,那么它的空间开销就变成了O(mn),而Hirschberg 算法通过分治策略,将序列对齐问题的…

作者头像 李华
网站建设 2026/4/15 1:08:10

基于python的网上商城比价系统(源码+vue+前后端分离)

前言基于Python的网上商城比价系统是一种先进的应用程序,旨在帮助消费者在众多在线商城中快速找到性价比最高的商品。以下是对该系统的详细介绍: 一、系统背景与意义 随着电子商务的迅猛发展,网上商城已成为消费者购物的主要渠道。然而&#…

作者头像 李华
网站建设 2026/4/10 15:00:06

OpenMV识别物体结合WiFi传输的安防监控:项目实践

用OpenMV做智能安防:从目标识别到WiFi告警的实战全记录 最近在捣鼓一个“小而实用”的物联网项目:让一块小小的OpenMV摄像头,不仅能识别人和物体,还能在发现异常时立刻通过WiFi把图像发到手机上。听起来像高端货?其实…

作者头像 李华