【简单】面试题54. 二叉搜索树的第k大节点

54. 二叉搜索树的第 k 大节点 由于二叉搜索树的中序遍历是升序的,因此可以反序中序遍历,即先递归遍历右子树,再访问根节点,最后递归遍历左子树。给定一棵二叉搜索树,请找出其中第。这样就可以得到一个降序的序列,第。是二叉搜索树的节点个数。 阅读详情

【题目】
给定一棵二叉搜索树,请找出其中第k大的节点。
来源:leetcode
链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/
【示例】
输入: root = [3,1,4,null,2], k = 1
3
/ \
1 4
\
2
【思路】
1、 二叉树的中序遍历的拟状态,正常二叉树的中序遍历是LNR,而其逆状态是RNL
2、根据题目要求可知,需要找到第k大的数字并返回,由于BST二叉搜索树的中序遍历是从小到大的在没有重复元素的时候可以看作一个递增数列,其逆中序遍历是从大到小的递减数列。所以此题找第k大的数字比较适合用逆中序遍历。
【代码】

class Solution {
public:
    int cnt=0;
    int kthLargest(TreeNode* root, int k) {
        //RNL 右根左 中序遍历
        stack<TreeNode*> s;
        TreeNode* treeNode = root;
        while(treeNode!=NULL || !s.empty()){
            while(treeNode != NULL){
                s.push(treeNode);
                treeNode = treeNode->right;
            }
            if(!s.empty()){
                treeNode = s.top();
                s.pop();
                cnt++;
                if(cnt==k)
                    return treeNode->val;
                treeNode = treeNode->left;
            }
        }
        return 0;
    }
};
IGBT单管并联方案全解析:从均流设计到热管理实战技巧 本文深入解析了IGBT单管并联技术在新能源车电驱系统中的应用,重点探讨了均流设计与热管理实战技巧。通过优化寄生电感控制、动态均流和驱动电路设计,提升系统稳定性和效率,为工程师提供了一套完整的解决方案。 阅读详情

相关推荐

英飞凌TC3xx实战:PWM中点触发ADC采集+DMA自动搬运完整配置流程(基于ILLD库)

本文详细介绍了在英飞凌TC3xx系列微控制器上使用ILLD库实现PWM中点触发ADC采集并通过DMA自动搬运数据的完整配置流程。该方案适用于电机控制、电源管理等需要高精度定时采集的场景,通过GTM生成PWM信号、ADC采集和DMA传输实现全硬件自动化流程,显著提升系统效率。

weixin_42536058的博客 534

剑指 Offer 54. 二叉搜索树的第k大节点 - 力扣(LeetCode)

剑指 Offer 54. 二叉搜索树的第k大节点 - 力扣(LeetCode)

Onwaier的博客 864

电源管理芯片PMIC

(Power Management Integrated Circuits,简称:将电源电压转换为电子设备各部分所需的适当电压水平,包括升压(Boost)、降压(Buck)和升降压(Buck-Boost)转换。:控制和限制流向电子设备各部分的电流,以保护组件免受过电流损害。:管理多个电源轨,为不同的部分提供稳定的电能控制。电源轨指电路板上传输电力的线路。电源监控:提供过电压、欠电压、过电流、过热和短路保护,以防止电子设备损坏。:通过高效的电源转换技术,减少能量损耗,提高能源利用效率。

qq_42786033的博客 1万+

剑指offer - 54.二叉搜索树的第k大节点 | 55.1二叉树的深度 | 55.2平衡二叉树

面试题54 二叉搜索树的第k大节点(*) 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6...

Qzx9059的博客 267

STM32F429网络通信避坑指南:用CubeMX搞定LAN8720+LWIP+FreeRTOS(附完整代码)

本文详细介绍了STM32F429通过CubeMX配置LAN8720+LWIP+FreeRTOS实现网络通信的避坑指南,涵盖硬件连接、CubeMX配置、LWIP优化及调试技巧,提供完整代码和实战经验,帮助开发者高效解决以太网通信中的常见问题。

weixin_26873711的博客 145

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

第K大/Top K及其简单实现

转载请注明出处:http://blog.csdn.net/u012469987/。 见网上第K大多数只给思路,没给实现,我就来填坑了。 update 2017-09-23 有同学反馈说面试遇到这个题,博文给了助攻,哈预料之中。 Top K 和第K大基本等价,以下我们以第K大为例且假设第K大一定存在,Top K 可以在第k大基础上稍微改动获得。 本文介绍6种方法,只考虑实现功能,不做异...

某科学的程序员 6424

俄罗斯方块 C++控制台版

一、创建方块 wstring tetromino[7]; tetromino[0].append(L"..X...X...X...X."); // Tetronimos 4x4 tetromino[1].append(L"..X..XX...X....."); tetromino[2].append(L".....XX..XX....."); tetromino[3].append(L"..X..XX..X......"); tetromino...

一只大鸽子的博客 1622

二叉搜索树第K大节点和第K小节点

第K大节点 dfs,中序遍历先便利右子树,再遍历左子树,如果中序遍历是升序的情况. class Solution: def kthLargest(self, root: TreeNode, k: int) -> int: def dfs(root): if not root: return dfs(root.right) if self.k == 0: return self.k

轻宇的博客 482

Lumerical FDTD新手必看:从零开始搭建光子晶体仿真环境(附完整脚本)

本文为Lumerical FDTD新手提供光子晶体仿真环境的完整搭建指南,涵盖从基础参数设置到脚本编写的全流程。通过典型光子晶体带隙分析案例,详细讲解结构建模、仿真参数配置及后处理技巧,并附赠完整MATLAB脚本,帮助用户快速掌握FDTD仿真核心技术。

3c4x5z6v7b的博客 1052

《MATLAB项目实战》,专栏目录和介绍

MATLAB 是一款强大且广泛应用的数值计算和数据可视化软件工具,它提供了一个高效、简洁的编程环境,使用户能够进行从简单的矩阵运算到复杂的多维数据分析的各种计算任务。无论是在人工智能、计算机视觉、图像处理还是其他领域,MATLAB 都能够提供精准、快速的解决方案,因此成为了全球科研人员、工程师以及数据分析师的得力工具。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6474

【二叉树】54题-二叉搜索树的第k大节点

1 题目描述 给定一棵二叉搜索树,请找出其中第k大的节点。 示例1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 2 解题思路 本文解法基于此性质:二叉搜索树的中序遍历为 递增序列 。 根据以上性质,

... 305

嵌入式PCB电源完整性分析:PDN建模与电流密度优化

电源完整性(PI)是高速数字与混合信号系统稳定运行的基础,其核心在于保障芯片供电网络(PDN)在动态负载下的电压稳定与热安全。PDN分析本质上是通过量化电流密度与电压降两个关键物理量,揭示PCB走线、过孔及平面的载流瓶颈与压降路径。电流密度超标将引发局部温升与可靠性风险,而电压降则直接侵蚀器件供电裕量,导致复位、采样失真等典型故障。借助Altium Designer等工具开展工程级PDN建模,需严格依据电源预算表定义源/负载,并精准配置铜厚、过孔参数及IPC-2152限值,从而实现从原理图到制造工艺的闭环验

weixin_28949937的博客 211

面试题54. 二叉搜索树的第k大节点(简单,常考)

题目 给定一棵二叉搜索树,请找出其中第k大的节点。 思路 中序遍历二叉搜索树,是会按照从大到小(右中左)或从小到大(左中右)的顺序打印出二叉搜索树中的值。 那我们就在第k次将结果保留起来就好了,当过了第k次以后,后面的遍历就不需要了。 易错点:k在递归的过程中是全局变量,不能写在递归函数里,因为k是针对整个函数,只进行k次 图片 作者:jyd 链接:https://leetcode-cn.co...

baihehaitangyijiu的博客 117

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【Python】【难度:简单】Leetcode 面试题54. 二叉搜索树的第k大节点

给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 限制: 1 ≤ k ≤ 二叉搜索树元素个数 来源:力扣(LeetCode) 链接:h...

thomashhs12的博客 264

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

剑指offer 面试题54. 二叉搜索树的第k大节点 [简单]——中序

我的解题: 用stack实现中序遍历,将二叉树从小到大的顺序保存在vector中 class Solution { public: int kthLargest(TreeNode* root, int k) { stack<TreeNode*> s; vector<TreeNode*> v; int coun...

Vermouth_Su的博客 210

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Java】面试题54:二叉搜索树的第k大的节点

题目:给定一棵二叉搜索树,请找出其中第k大的节点。 例如,下图中的二叉搜索树中,按节点数值大小顺序第三个节点的值 是4. 算法分析: 如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。上图中的二叉搜索树的中序遍历序列为{2,3,4,5,6,7,8},因此,只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第k大结点。 方法一:递归中序遍历 package jianZhi...

小小核桃 937

剑指offer | 面试题54:二叉搜索树的第k大节点

转载本文章请标明作者和出处 本文出自《Darwin的程序空间》 本文题目和部分解题思路来源自《剑指offer》第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, 如下图(5,3,7,2,4,6,8) 中,按节点数值大小顺序第三小结点的值为4 二叉树的定义如下: public class TreeNode { in...

程序员大航子 9050

面试题54. 二叉搜索树的第k大节点

题目: 面试题54. 二叉搜索树的第k大节点 题解: 代码: /** * 面试题54 */ public class 面试题54 { public int ans = 0; public int count = 0; public int kthLargest(TreeNode root, int k) { dfs(root, k); return ans; } public void dfs(TreeN

dev_zyx的博客 410

面试题54.二叉搜索树的第k大节点

面试题54.二叉搜索树的第k大节点 题目描述 给定一棵二叉搜索树,请找出其中第k大的节点。 题解 二叉搜索树的第k大节点,将二叉搜索树中序遍历得到从小到大的序列,鉴于长度不断改变,使用集合存储,从小到大的序列,要第k大,则返回倒数第k个数即可,代码如下: /** * Definition for a binary tree node. * public class TreeNode { *...

weixin_44458246的博客 236

leetcode 面试题54. 二叉搜索树的第k大节点

面试题54. 二叉搜索树的第k大节点 难度简单29 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 解题思路: 本文解法基于...

fang156239305的博客 297

剑指offer面试题54(java版):二叉搜索树的第K小节点

welcome to my blog 剑指offer面试题54(java版):二叉搜索树的第K小节点 题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4 思路 见注释 笔记 一定要弄清楚所使用的的递归函数的逻辑 本题使用的递归函数的逻辑: 针对当前节点p, 先判断p的左子节点是否为第k小节点,是的话...

littlehaes的博客 776

面试题54 二叉搜索树的第k大节点(java)

给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / ...

weixin_43306331的博客 459

剑指offer系列-面试题-54. 二叉搜索树的第k大节点(python)

文章目录1. 题目2. 解题思路3. 代码实现3.1 渣渣写法3.2 大佬写法3.3 迭代4. 总结5. 参考文献 1. 题目 给定一棵二叉搜索树,请找出其中第k大的节点。 2. 解题思路 详情见 面试题54. 二叉搜索树的第 k 大节点(中序遍历 + 提前返回,清晰图解) 采用一个变量记录当前节点是第几大的节点。 由于是二叉搜索树,所以最右节点为最大,然后是其父节点,然后是其左子节点,因此应该以 右-根-左的顺序遍历树 3. 代码实现 3.1 渣渣写法 # Definition for a bin

besmarterbestronger的博客 814

【LeetCode-剑指Offer】54. 二叉搜索树的第k大节点

一、题目 二、解决 1、 思路: 代码: 时间复杂度: O(n)O(n)O(n) 空间复杂度: O(n)O(n)O(n) 2、 思路: 代码: 时间复杂度: O(n)O(n)O(n) 空间复杂度: O(n)O(n)O(n) 3、 思路: 代码: 时间复杂度: O(n)O(n)O(n) 空间复杂度: O(n)O(n)O(n) 三、参考 1、 2、 3、 ...

HeavenDan的博客 376
上一篇: 【简单】面试题 01.01. 判定字符是否唯一
下一篇: 【简单】面试题 03.04. 化栈为队
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值