题意:
给定一棵二叉搜索树,请找出其中第k大的节点。
基于此性质:二叉搜索树的中序遍历为 递增序列
根据以上性质,易得二叉搜索树的 中序遍历倒序 为 递减序列 。
因此,求 “二叉搜索树第 k大的节点” 可转化为求 “此树的中序遍历倒序的第 k个节点”。

思路:
做这题先弄清题目意思,第k大节点,意思是,顺序从小到大,找第k个节点。

这里使用递归方法
为求第 kk 个节点,需要实现以下 三项工作 :
递归遍历时计数,统计当前节点的序号;
递归到第 kk 个节点时,应记录结果 resres ;
记录结果后,后续的遍历即失去意义,应提前终止(即返回)。

Java代码实现:

class Solution {int res, k;public int kthLargest(TreeNode root, int k) {this.k = k;dfs(root);return res;}void dfs(TreeNode root) {if(root == null) return;dfs(root.right);if(k == 0) return;if(--k == 0) res = root.val;dfs(root.left);}
}

二叉搜索树的第 k 大节点(递归,反中序遍历 + 提前返回)相关推荐

  1. [剑指offer]面试题第[54]题[JAVA][二叉搜索树的第k大节点][递归][迭代]

    [问题描述][简单] 给定一棵二叉搜索树,请找出其中第k大的节点.示例 1: 输入: root = [3,1,4,null,2], k = 13/ \1 4\2 输出: 4 示例 2:输入: root ...

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

    [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...

  3. 二叉搜索树的第 k 大节点

    二叉搜索树的第 k 大节点 1.参考资料 https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/ 2. ...

  4. 《剑指offer》-- 序列化二叉树、二叉搜索树的第k个节点、数据流中的中位数、滑动窗口的最大值

    一.序列化二叉树: 1.题目: 请实现两个函数,分别用来序列化和反序列化二叉树. 2.解题思路: (1)根据前序遍历规则完成序列化与反序列化.所谓序列化指的是遍历二叉树为字符串:所谓反序列化指的是依据 ...

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

    给定一棵二叉搜索树,请找出其中第k大的节点. 解法一:使用递归和中序遍历 # Definition for a binary tree node. # class TreeNode: # def __ ...

  6. 剑指Offer - 面试题54. 二叉搜索树的第k大节点(二叉树循环遍历)

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

  7. 【剑指offer】面试题54:二叉搜索树的第k大节点(java)

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

  8. 54. 二叉搜索树的第k大节点

    2020-06-22 1.题目描述 给定一棵二叉搜索树,请找出其中第k大的节点. 2.题解 中序遍历二叉搜索树即为升序的结果,将其存储在vector中,最后进行输出即可. 3.代码 /*** Defi ...

  9. 剑指offer面试题54. 二叉搜索树的第k大节点(逆中序遍历)

    题目描述 给定一棵二叉搜索树,请找出其中第k大的节点. 思路 详见链接 代码 class Solution:def kthLargest(self, root:TreeNode, k:int)-> ...

最新文章

  1. keras 的 example 文件 mnist_hierarchical_rnn.py 解析
  2. 【黑客免杀攻防】读书笔记4 - 壳在免杀中的应用
  3. pip 安装mmcv
  4. 读《程序是怎样跑起来的》第三章有感
  5. 如何创建git账户的chroot
  6. 关于图书管理系统项目的大概思路
  7. Java的未来前景怎么样?
  8. 查询各科成绩前三名的记录
  9. 高级路由交换题库 答案与解释
  10. Google抢Waze:除了地图还有什么?
  11. ins无法发帖_instagram发完图片就没了_ins发不了照片_解决方法
  12. Video-based Emotion Recognition Using Multi-dichotomy RNN-DNN
  13. 最大熵模型的特征函数及约束条件
  14. 四象限运行模式_双向可控硅四象限触发方式介 - 双向可控硅四象限触发方式介绍_双向可控硅触发电路的设计...
  15. XGboost-网格调参法
  16. 网络购车平台哪家强?
  17. “RSoft光电器件设计仿真技术与应用”专题培训通知
  18. php短信接口调用网站,PHP网站短信接口函数示例
  19. 百度竞价点击器_【竞价推广100问】百度竞价点击怎么收费,有计算公式吗?
  20. 使用MegaCli监控Linux硬盘

热门文章

  1. C++成员变量指针和成员函数指针【The semantics of funcitons】
  2. “干细胞制剂制备与质检行业标准”上海“出炉”
  3. 1013 - 把握趋势
  4. MyEclipse内安装与使用SVN
  5. 在线拼音输入法,挺好玩的。
  6. Serverless 下的微服务实践
  7. 惊呆了!Spring Boot 还能远程调试?
  8. Linux服务端最大并发数是多少?
  9. 架构设计|异步请求如何同步处理?
  10. jenkins漏洞导致服务器中了挖矿病毒!cpu飙高351%!看我如何消灭它!