leetCode如何找出二叉搜索树的第k大节点
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍leetCode如何找出二叉搜索树的第k大节点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一,二叉搜索树的第k大节点1,问题简述给定一棵二叉搜索树,请找出其中
千家信息网最后更新 2025年12月03日leetCode如何找出二叉搜索树的第k大节点
这篇文章主要介绍leetCode如何找出二叉搜索树的第k大节点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一,二叉搜索树的第k大节点
1,问题简述
给定一棵二叉搜索树,请找出其中第k大的节点。
2,示例描述
示例 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 ≤ 二叉搜索树元素个数
3,题解思路
二叉搜索树的中序遍历就是元素递增的,根据中序遍历得到的数据即可解决。
4,题解程序
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class KthLargestTest3 {
public static void main(String[] args) {
TreeNode t1=new TreeNode(3);
TreeNode t2=new TreeNode(1);
TreeNode t3=new TreeNode(4);
TreeNode t4=new TreeNode(2);
t1.left=t2;
t1.right=t3;
t2.right=t4;
int k=1;
int kthLargest = kthLargest(t1, k);
System.out.println("kthLargest = " + kthLargest);
}
public static int kthLargest(TreeNode root, int k) {
if (root == null) {
return 0;
}
List list = new ArrayList<>();
dfs(root, list);
list.sort(Comparator.reverseOrder());
return list.get(k - 1);
}
private static void dfs(TreeNode root, List list) {
if (root == null) {
return;
}
if (root.left != null) {
dfs(root.left, list);
}
list.add(root.val);
if (root.right != null) {
dfs(root.right, list);
}
}
}
以上是"leetCode如何找出二叉搜索树的第k大节点"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
搜索
节点
示例
元素
内容
篇文章
题解
输入
输出
个数
价值
兴趣
小伙
小伙伴
就是
思路
数据
更多
知识
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杭州哪个软件开发培训好
网络安全活动周讲话
邵阳计算机软件开发
江苏app软件开发
长沙零点网络技术有限公司
数据库面向对象的技术的特性
软件开发中端企业
网络安全大概包括
数据库除法和减法SQL语句
面对网络安全威胁和风险
数据库常见威胁有哪些
数据库最新发展和最新技术
厦门企业报修管理软件开发
asp页面用什么软件开发
管理软件开发公司人员比例解析
一带一路网络安全
win32 连接数据库
搭建小程序需要多大服务器
公安部网络安全保卫局长林锐
无线传感器网络安全定位方法
学软件开发一般去什么培训班
软件开发必须学的语言
戴尔服务器r730参数
网上租服务器平台
企业数据库面临的安全威胁
江苏扬州电信dns服务器地址
MySQL数据库备份几种方式
西部数据数据库
广东时代网络技术分类创新服务
安天网络安全心得