LeetCode(剑指 Offer)- 54. 二叉搜索树的第k大节点
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 54. 二叉搜索树的第k大节点相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略
解题思路:略
相关企业
- 字节跳动
AC 代码
- Java
/**
* Definition for a binary tree node.
* public class TreeNode
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) val = x;
*
*/
class Solution
int th;
List<Integer> list = new ArrayList<>();
public int kthLargest(TreeNode root, int k)
th = k;
dfs(root);
return list.get(k - 1);
void dfs(TreeNode node)
if (node == null || list.size() == th)
return;
dfs(node.right);
list.add(node.val);
dfs(node.left);
- C++
class Solution
public:
int kthLargest(TreeNode* root, int k)
this->k = k;
dfs(root);
return res;
private:
int res, k;
void dfs(TreeNode* root)
if(root == nullptr) return;
dfs(root->right);
if(k == 0) return;
if(--k == 0) res = root->val;
dfs(root->left);
;
以上是关于LeetCode(剑指 Offer)- 54. 二叉搜索树的第k大节点的主要内容,如果未能解决你的问题,请参考以下文章
⭐算法入门⭐《二叉树 - 二叉搜索树》简单10 —— LeetCode 剑指 Offer 54. 二叉搜索树的第k大节点
LeetCode(剑指 Offer)- 54. 二叉搜索树的第k大节点
LeetCode Java刷题笔记—剑指 Offer 54. 二叉搜索树的第k大节点
leetcode-剑指 Offer 55 - II平衡二叉树