【剑指OFFER】54. 二叉搜索树的第k大节点
发布日期:2021-06-29 19:47:00 浏览次数:2 分类:技术文章

本文共 786 字,大约阅读时间需要 2 分钟。

题目:给定一棵二叉搜索树,请找出其中第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 ≤ 二叉搜索树元素个数

答案:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
public int kthLargest(TreeNode root, int k) {
//前序遍历取第k大节点的值 ArrayList
list = new ArrayList<>(); DLR(root, list); return list.get(list.size() - k); } public void DLR(TreeNode head, ArrayList
list) {
//前序遍历 if(head.left != null) DLR(head.left, list); list.add(head.val); if(head.right != null) DLR(head.right, list); }}

转载地址:https://darkness.blog.csdn.net/article/details/115521597 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【剑指OFFER】 55 - I. 二叉树的深度
下一篇:【力扣】153. 寻找旋转排序数组中的最小值

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月27日 08时37分06秒