给定一棵二叉搜索树,请找出其中第 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
var inorder=function(root,list){
if(root==null)return
inorder(root.left,list)
list.push(root.val)
inorder(root.right,list)
}
var kthLargest = function(root, k) {
var list=[]
inorder(root,list)
console.log(list)
return list[list.length-k]
};