题目描述
解题思路
- 首先构建一个集合用来存储遍历的所有元素。
- 使用DFS遍历二叉树,并将结果存到集合中。
- 将集合转化为数组
- 通过sort方法进行降序排序
- 排好序的数组的下标为[k-1]的元素即为二叉搜索树的第K大的元素
实现代码
var kthLargest = function(root, k) { const set = new Set(); const dfs = function(node) { if (node === null) { return; } set.add(node.val); dfs(node.left); dfs(node.right); } dfs(root); const arr = [...set]; arr.sort((a,b) => { return b-a; }); return arr[k-1]; };