给定一棵二叉搜索树,请找出其中第 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
let fn = []
const help = (root)=> {
if(!root){ return }
help(root.left)
fn.unshift(root.val)
help(root.right)
}
help(root)
return fn[k-1]
};
/* 二叉搜索树中序遍历 升序 反过来是不就是降序*/
var kthLargest2 = function(root, k) {
let fn = []
const help = (root)=> {
if(!root){ return }
help(root.right)
if(fn.length>=k){ return}
fn.push(root.val)
help(root.left)
}
help(root)
return fn[k-1]