来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

给定一棵二叉搜索树,请找出其中第 k 大的节点的值。

解答

二叉搜索树,先把中序遍历框架写出来,然后找到数组中第 k 大的节点

  1. /**
  2. * Definition for a binary tree node.
  3. * function TreeNode(val) {
  4. * this.val = val;
  5. * this.left = this.right = null;
  6. * }
  7. */
  8. /**
  9. * @param {TreeNode} root
  10. * @param {number} k
  11. * @return {number}
  12. */
  13. var kthLargest = function(root, k) {
  14. let arr = [];
  15. function traverse (node) {
  16. if (!node) return null;
  17. traverse(node.left);
  18. arr.push(node.val);
  19. traverse(node.right);
  20. }
  21. traverse(root);
  22. return arr[arr.length - k];
  23. };