力扣热题100_二叉树_230_二叉搜索树中第K小的元素

文章目录

  • 题目链接
  • 解题思路
  • 解题代码


题目链接

230. 二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。

示例 1:
请添加图片描述
输入:root = [3,1,4,null,2], k = 1
输出:1

示例 2:
请添加图片描述
输入:root = [5,3,6,2,4,null,null,1], k = 3
输出:3

解题思路

递归遍历

  • 采用中序遍历,即以左-根-右的顺序进行遍历,这样可以得到一个单调递增的数组。
  • 我们可以用数组res存放遍历结果,当len(res) == k时退出遍历

解题代码

class Solution:def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:res = []  #存放遍历结果def dfs(root):if not root:returndfs(root.left)if len(res) == k: #已经找到第k小元素returnres.append(root.val)dfs(root.right)dfs(root)return res[-1]

参考资料:力扣热题100对应的题解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/400339.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入学习零拷贝

在学习中遇到了一个问题就是什么是零拷贝,因此学习之后以此来记录一下。 零拷贝、直接I/O、异步I/O等,优化的目的就是为了提高系统的吞吐量,减少访问磁盘次数。访问磁盘的速度会比读写内存会慢十倍以上。因此就需要提高它的读写速度。 什么…

视频融合项目中的平台抉择:6大关键要素助力精准选型

随着安防监控系统行业的快速发展,视频融合项目逐渐成为城市治理、企业管理及智能建筑等领域的重要组成部分。视频融合平台作为视频数据整合、管理和分析的核心,其选择直接影响到项目的成功与否。 在当前智慧业务类项目的集成过程中,我们不仅…

【网络协议】网络劫持 - ARP/DNS欺骗篇

前言 网络劫持是一种网络攻击技术,攻击者通过拦截、篡改或重定向数据流量,控制用户的网络通信路径,干扰正常的网络服务。其方式可能包括DNS劫持、ARP欺骗和HTTP劫持等。通过这些手段,攻击者可以窃取敏感信息如个人身份数据和财务信…

【实现100个unity特效之20】用unity实现物品悬浮和发光像素粒子特效

最终效果 文章目录 最终效果新增飞升粒子效果光圈效果修改不同颜色完结 新增飞升粒子效果 效果 光圈效果 效果 修改不同颜色 完结 赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持…

望获实时Linux与EtherCAT的硬实时解决方案

在追求极致实时性与可靠性的工业自动化领域,望获实时Linux以其卓越的实时性能和广泛的兼容性,正逐步成为工业控制领域的核心力量。结合EtherCAT这一高效通信协议,我们共同打造了一套创新的硬实时工业控制方案,旨在满足现代工业对快…

数学建模——评价决策类算法(层次分析法、Topsis)

一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重,这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…

6.mysql事务

MYSQL事务 1.事务简介2.事务操作2.1 方式一2.2 方式二 3.事务四大特性(ACID)4.并发事务问题5.事务隔离级别 1.事务简介 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有操作作为一个整体一起想系统提交或撤销操作…

不懂就问,猫咪一到夏天就疯狂掉毛?宠物毛发异味怎么处理?

相信很多新手铲屎官都有这样的疑问,随着气温升高,家里的猫孩子疯狂掉毛,还有愈演愈烈的趋势。不用担心,这是因为宠物到了换毛季。猫咪的换毛季一年两次,多集中在春天和秋天,但也有很多猫咪的掉毛期无限延长…

中小型企业可用的数据采集监控平台 为生产带来众多改变

中小型企业采用数据采集监控平台可以显著提升生产效率、优化生产流程、增强决策能力,并带来一系列积极的改变。 数据采集监控平台可提供从边缘感知设备到云端的数据采集、存储、分析、可视化等服务,实现生产工艺流程仿真、设备运行状态监控、数据报表、趋…

【无标题】Unity Asset Hunter 插件

Asset Hunter PRO是Unity的一款插件,用于分析工程内的资源使用情况,资源大小,分析资源依赖关系,可以用来清理项目中未使用的资源。尤其是项目较大时,删除没有使用的资源很有帮助。 对于项目UI图片修改次数过多时&…

C++ | list

前言 本篇博客讲解cSTL中的list 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢迎大家点赞&…

FMR—Feature-metric Registration论文解读

目录 一、导言 二、先导知识 1、逆组合算法 三、相关工作 1、优化算法为主的配准工作 2、基于特征的点云配准 3、端到端学习的配准 四、FMR框架 1、Encoder模块 2、Decoder分支模块 3、特征指标配准分支模块 4、损失函数 五、数据集 1、ModelNet40 2、7Scene数据…

SpringBoot快速入门(自动创建)

目录 前言 步骤 1 创建项目 2 选择生成器springBoot 3 修改后,如图所示 4 点击下一步 5 点击Web----SpringWeb 6 点击创建 6.1 如果发生报错如: 6.2 替换合适版本,等待重新加载 7 添加contronller类 7.1 添加HelloController 类 8 ​​创建…

基于JAVA的医院管理住院系统研究与实现

点击下载源码 基于JAVA的医院管理住院系统研究与实现 摘 要 医院管理住院系统是一项集多类学科为一体的系统,其中包含医学、信息、计算机等学科,广泛的应用在当今欧美等发达国家,给治疗患者们提供了很大的便利。假如全面实现了这一系统&…

【启明智显技术分享】工业级HMI芯片Model3A开发过程中问题记录笔记

一、Model3A芯片介绍 Model3A是启明智显针对工业、行业以及车载产品市场推出的一款高性能、低成本的工业级HMI(Human-Machine Interface,人机界面)芯片。该芯片主要应用于工业自动化、智能终端HMI、车载仪表盘、两轮车彩屏仪表、串口屏、智能…

Docker容器管理之FAQ

一、前言 某次,某容器服务发现无法使用了,查看状态为restaring状态,后看是云主机重启了,导致本地的nfs-server未自动启动,导致关联的集群主机,远程挂载点无法使用,影响容器服务运行。故此&#…

老师分班查询助手,新学期老师都在用!

作为一名教师,您是否曾经在新学期伊始,面对着一堆学生名单和分班结果,感到无从下手?是否曾经历过在黑板上一笔一划地写下每个学生的名字和班级,然后一遍又一遍地回答家长和学生的询问?这样的场景&#xff0…

web页面的性能测试

背景 测试大模型主要web页面的性能 使用工具 通过google自带的lighthouse测试页面的性能 各个参考指标 First Contentful Paint(FCP):测量在用户导航到页面后浏览器呈现第一段 DOM 内容所花费的时间。页面上的图像、非白色<canvas>元素和 SVG 被视为 DOM 内容&#…

ECMAScript6语法:类

在 ES6 中新增了类的概率&#xff0c;多个具有相同属性和方法的对象就可以抽象为类。类和对象的关系如下&#xff1a; &#xff08;1&#xff09;类抽象了对象的公共部分&#xff0c;它泛指某一大类&#xff08;class&#xff09;。 &#xff08;2&#xff09;对象特指通过类…

Linux:基础IO

目录 1. stdin & stdout & stderr 2. 系统文件I/O 1. 接口介绍 open write read close lseek 2. open函数返回值 3. 文件描述符fd 0 & 1 & 2 文件描述符的分配规则 重回定向 dup2 简易Shell的模拟实现 4. FILE 5. 再谈对文件的理解 1. stdin …