解法:
class Solution {
int res = 0;
int count = 0;
public int kthLargest(TreeNode root, int k) {
helper(root,k);
return res;
}
public void helper(TreeNode root,int k){
if(root==null){
return;
}
helper(root.right,k);
if(count ==k){
return ;
}
count++;
if(count==k){
res = root.val;
}
helper(root.left,k);
}
}
- 时间复杂度:O(N),树退化为链表(全部为右子节点),无论k为多大,递归深度都为N。
- 空间复杂度:O(N),树退化为链表(全部为右子节点),系统使用O(N)大小的栈空间。
参考:
- https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/solution/mian-shi-ti-54-er-cha-sou-suo-shu-de-di-k-da-jie-d/
- https://blog.algomooc.com/054.html#%E4%B8%80%E3%80%81%E9%A2%98%E7%9B%AE%E6%8F%8F%E8%BF%B0