news 2026/7/7 20:29:55

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/7/6 18:24:34

饮食饮水代谢检测系统 呼吸能量饮食饮水代谢检测系统 大鼠代谢系统 小鼠代谢系统

动物代谢监测系统具有多通量、实时统计、自动化、高准确性等优点,极大地提高了药物研发和基础生命科学研究的效率,并从根本上减少手工操作带来数据偏差及误差。在动物无拘束状态下,进行多通道测量,记录软件能实时统计大小鼠的饮食量、饮水量、…

作者头像 李华
网站建设 2026/6/25 22:47:44

智能论文改写工具推荐,8款AI平台助你轻松完成写作

目前市面上有多款AI论文辅助工具,通过对8个主流平台的综合评测发现,这些工具在论文降重、降低AI生成内容检测率以及辅助写作等方面各具特色,根据实际测试结果和用户评价显示,其性能表现主要取决于处理效率、内容准确度及操作便捷性…

作者头像 李华
网站建设 2026/7/6 19:08:33

基于SpringBoot+Spark+vue的在线广告推荐系统

前言 在线广告推荐系统的研究与开发从理论上讲,该系统涉及数据挖掘、机器学习、用户行为分析等多个前沿领域,为研究者提供了一个综合性的研究课题。通过不断优化推荐算法,可以推动相关理论的发展,特别是在大数据处理和实时推荐技术…

作者头像 李华
网站建设 2026/7/5 8:41:29

上位机是什么意思?图文并茂的新手教程

上位机是什么?一文搞懂工业控制中的“大脑”角色你有没有在工厂里见过这样的场景:一个操作员坐在电脑前,轻点几下鼠标,整条生产线就开始有序运转;屏幕上跳动着各种曲线、仪表盘和报警信息,仿佛一切尽在掌握…

作者头像 李华
网站建设 2026/7/7 12:21:43

你了解‌板卡控制的架构吗?‌板卡控制和PLC控制有什么区别

‌板卡控制在智能制造、能源管理、医疗研发等领域均有所使用,由此可见‌板卡控制的重要性。为增进大家对‌板卡控制的认识,本文将对‌板卡控制的架构与功能以及‌板卡控制与PLC控制的区别予以介绍。如果你对‌板卡控制具有兴趣,不妨继续往下阅…

作者头像 李华