千家信息网

LeetCode怎么找出二叉搜索树中第K小的元素

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍LeetCode怎么找出二叉搜索树中第K小的元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1,问题简述给定一个二叉搜索树,编写一个函数 kthSmalles
千家信息网最后更新 2026年11月03日LeetCode怎么找出二叉搜索树中第K小的元素

这篇文章主要介绍LeetCode怎么找出二叉搜索树中第K小的元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1,问题简述

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。

说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。

2,示例

示例 1:
输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2:
输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输出: 3

3,题解思路

使用二叉树的中序遍历方式进行解决

4,题解程序


import java.util.ArrayList;import java.util.List;
public class KthSmallestTest3 { 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 kthSmallest = kthSmallest(t1, k); System.out.println("kthSmallest = " + kthSmallest);
}
private static List list = new ArrayList<>();
public static int kthSmallest(TreeNode root, int k) { if (root == null) { return 0; } dfs(root); return list.get(k - 1); }
private static void dfs(TreeNode root) { if (root == null) { return; } if (root.left != null) { dfs(root.left);
} list.add(root.val); if (root.right != null) { dfs(root.right); } }}

5,题解程序图片版

以上是"LeetCode怎么找出二叉搜索树中第K小的元素"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

元素 搜索 示例 题解 内容 程序 篇文章 输入 输出 最小 有效 个数 价值 兴趣 函数 图片 小伙 小伙伴 思路 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 互联网最新的科技 互联网科技社 互联网科技公司发展 迪茉互联网科技 凡科互联网科技 华中科技大学互联网 西安互联网科技公司 河南猎农互联网科技有限公司 未来五年的互联网科技 想开互联网科技公司怎么样 互联网行业科技股 世界互联网领先科技成果获奖 黑科技 体验场景 互联网大会 上海创道互联网络科技有限公司 互联网科技机房 上海万顺科技互联网有限公司招聘 西安左小互联网科技有限公司 互联网科技大佬云集 青岛互联网科技园 深圳九邦互联网科技有限公司 世界互联网领先科技成果 奇酷互联网络科技公司 科技大学互联网专业好不好 青岛科技大学互联网大赛研究生 中国科技创新与世界互联网大会 996高科技互联网公司 浙南科技城互联网大厦建设工程 恒生互联网科技业指数调整周期 玉溪新华互联网科技怎么选
0