题链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/
题描述:
解题思路:
二叉搜索树的中序遍历序列(左根右)是递增序列,所以右根左的遍历序列为递减序列,我们使用一个计数器 step 记录右根左遍历的节点个数,当 step == k 时,当前节点就是第 k 大的节点。当前节点为空或者已找到结果节点,后面的遍历也就没有意义,应直接返回。
代码实现:
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @param {number} k
* @return {number}
*/
var kthLargest = function(root, k) {
let step = 0;
let res;
dfs(root);
function dfs(root) {