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

题目

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

示例

输入:root = [5,3,6,2,4,null,null,1], k = 3
输出:3
在这里插入图片描述

解析

这道题应该是能做出来的,首先二叉搜索树的中序遍历是递增的,那就在此基础上直接数K个树就好了

/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*/
func kthSmallest(root *TreeNode, k int) int {ans := 0if root == nil || k <= 0 {return ans}cur := rootstack := list.New()for cur != nil || stack.Len() > 0 {if cur != nil {stack.PushBack(cur)cur = cur.Left} else {cur = stack.Remove(stack.Back()).(*TreeNode)k--if k == 0 {return cur.Val}cur = cur.Right // 大意了,这一行记错了,记成pushback了}}return ans
}

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

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

相关文章

【HMGD】STM32/GD32 I2C DMA 主从通信

STM32 I2C配置 主机配置 主机只要配置速度就行 从机配置 从机配置相同速度&#xff0c;可以设置第二地址 因为我的板子上面已经有了上拉电阻&#xff0c;所以可以直接通信 STM32 I2C DMA 定长主从通信代码示例 int state 0; static uint8_t I2C_recvBuf[10] {0}; stat…

扭矩拧紧螺栓简便的估算方法

扭矩拧紧螺栓简便的估算方法。 计算公式&#xff1a; T K x D x P 其中&#xff1a;T为拧紧力矩&#xff1b;D为螺纹公称直径&#xff1b;P为预紧力&#xff1b;K为拧紧系数。 预紧力计算公式&#xff1a;P(0.75~0.9) σsAs&#xff1b;其中前面系数对可拆连接取0.75&#xff0…

NLP(18)--大模型发展(2)

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 Transformer结构&#xff1a; LLM的结构变化&#xff1a; Muti-head 共享&#xff1a; Q继续切割为muti-head,但是K,V少切&#xff0c;比如切为2个&#xff0c;然后复制到n个muti-head减少参数量&#xff0c;加速训练 atte…

运维开发.索引引擎ElasticSearch.倒序索引的概念

运维开发.索引引擎ElasticSearch 倒序索引的概念 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn…

两步将 CentOS 6.0 原地升级并迁移至 RHEL 7.9

《OpenShift / RHEL / DevSecOps 汇总目录》 说明 本文介绍如何将一个 CentOS 6.0 的系统升级并转换迁移到 RHEL 7.9。 本文是《在离线环境中将 CentOS 7.X 原地升级并迁移至 RHEL 7.9》阶进篇。 所有被测软件的验证操作可参见上述前文中对应章节的说明。 准备 CentOS 6.…

如何选择序列化协议:关键因素与场景分析

如何选择序列化协议&#xff1a;关键因素与场景分析 序列化协议的选择直接影响着系统的性能、可维护性及跨平台兼容性。以下是针对不同场景下&#xff0c;几种常见序列化协议的选择建议&#xff1a; 1. 公司间系统调用&#xff08;性能要求宽松&#xff09; SOAP (基于XML)&a…

1103 缘分数(测试点4)

solution 测试点4&#xff1a;1 1不符合缘分数定义&#xff0c;但是这个判断能够通过记得排除掉 #include<iostream> #include<cmath> using namespace std; bool judge(int n){int t sqrt(n);if(t * t n) return true;return false; } int main(){int n, m, c…

【大比武07】人工智能技术赋能城建档案高质量发展

关注我们 - 数字罗塞塔计划 - # 大比武2024 本篇是参加“华夏伟业”杯第二届档案信息化公司业务与技术实力大比武&#xff08;简称“大比武 2024”&#xff09;的投稿文章&#xff0c;来自讯飞知喻&#xff08;安徽&#xff09;科技有限公司&#xff0c;作者&#xff1a;张海剑…

《TortoiseSVN》简单使用说明

##################工作记录#################### 常用图标说明 一个新检出的工作副本 修改过的文件 更新过程遇到冲突的文件 你当前对文件进行了锁定&#xff0c;不要忘记不使用后要解锁&#xff0c;否则别人无法使用 当前文件夹下的某些文件或文件夹已经被调度从版本控制…

阿里架构师整理:100套Java经典实战项目+源码!拿走玩去,练不会我直接退出IT

技术学习的目的是进行项目开发&#xff0c;但是很多同学苦于自学没有项目练手&#xff0c;被面试官问到项目经验&#xff0c;项目就成了自己的短板。小编特地收集了阿里架构师整理的java实战项目来满足大家的需求&#xff0c;让大家在实战中不断成长&#xff01; 话不多说了&…

基于Pytorch框架的卷积神经网络MNIST手写数字识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 MNIST手写数字数据集是机器学习领域中的一个经典数据集&#xff0c;它包含了大量的手写数字图…

探索 JavaScript 新增声明命令与解构赋值的魅力:从 ES5 迈向 ES6

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; ES5、ES6介绍 文章目录 &#x1f4af;声明命令 let、const&#x1f35f;1 let声明符&a…

leetcode437 路径总和III-哈希表+前缀和

题目 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff08;只能从父节点到子节…

618哪些好物值得入手?必备数码好物清单分享

618购物节又来了!一大波智能好物来袭!随着科技的日新月异&#xff0c;智能产品已成为我们生活中不可或缺的一部分&#xff0c;它们不仅炫酷&#xff0c;还能让你生活更便捷。想知道今年都有哪些黑科技新品吗?赶紧跟我们一起&#xff0c;我们将详细介绍这些热门好物。一堆超炫酷…

免费SSL证书与付费SSL证书:特性对比与适用场景解析

近几年随着互联网的发展&#xff0c;线上教育、线上办公&#xff0c;线上学习等逐渐融入我们的生活。与此同时&#xff0c;信息数据泄露等网络安全问题也日益突出&#xff0c;为了保护企业与用户的隐私信息&#xff0c;越来越多的公司选择安装SSL证书来保护网站和平台的数据安全…

poi操作word模板,对原有的word修改

/*** 化工园区调查表** param templatePath* param outPath* param parkInterview*/public static String getDocx(String templatePath, String outPath, ParkInterview parkInterview){File file new File(templatePath);File file1 new File(outPath);if(!file1.exists()…

计算机网络数据链路层知识点总结

3.1 数据链路层功能概述 &#xff08;1&#xff09;知识总览 &#xff08;2&#xff09;数据链路层的研究思想 &#xff08;3&#xff09;数据链路层基本概念 &#xff08;4&#xff09;数据链路层基本功能 3.1 封装成帧和透明传输 &#xff08;1&#xff09;数据链路层功能…

简单几步免费申请通配符/泛域名SSL证书

申请免费通配符SSL证书的过程可能会因不同的证书颁发机构(CA)而异&#xff0c;但以下是一般步骤&#xff0c;基于当前可获得的信息&#xff0c;特别是提及了JoySSL作为提供免费通配符证书的服务商之一。请注意&#xff0c;情况可能会随时间变化&#xff0c;因此建议直接访问相关…

文件传输服务应用1——java集成smb2/3详细教程和windows共享服务使用技巧

在实际项目开发过程中&#xff0c;读取网络资源或者局域网内主机的文件是必要的操作和需求。而FTP&#xff08;文件传输协议&#xff09;和SMB&#xff08;服务器消息块&#xff09;是两种最为常见的文件传输协议。它们各自在文件传输领域拥有独特的优势和特点&#xff0c;但同…

【NOIP2013普及组复赛】题4:车站分级

题4&#xff1a;车站分级 【题目描述】 一条单向的铁路线上&#xff0c;依次有编号为 1 , 2 , … , n 1,2,…,n 1,2,…,n 的 n n n 个火车站。每个火车站都有一个级别&#xff0c;最低为 1 1 1 级。现有若干趟车次在这条线路上行驶&#xff0c;每一趟都满足如下要求&#…