leetCode如何找出二叉搜索树的第k大节点
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍leetCode如何找出二叉搜索树的第k大节点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一,二叉搜索树的第k大节点1,问题简述给定一棵二叉搜索树,请找出其中
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
鼓楼区网络技术研究
网络安全法在全国范围内
雅安展厅多媒体软件开发公司
自己做一个手游服务器
plsql中查询数据库
杭州铸淘网络技术有限公司
软件开发的重要作用
京东有几个服务器
qcma刷新数据库0
软件开发害怕自己干不了
软件开发怎么接单
科技互联网大佬云集
软件开发协议都有什么
浙江网络软件开发定制市场价格
国家网络安全周第几届
药物gbi数据库
河源无限软件开发平均价格
国家数据库高级考证报名费
在线三维设计软件开发
了解最新科技的互联网行业
用微信认证公共网络安全吗
邢台专业软件开发服务商
网络安全必须做以下哪几点
数据库账号安全问题
spring引入数据库
河南盛夏网络技术有限公司
我的世界服务器空岛刷石
计算机专业网络安全方向
怎么查看ftp服务器
新加坡租服务器价格