https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/
给定一棵二叉搜索树,请找出其中第 k 大的节点的值。
输入: root = [3,1,4,null,2], k = 1
3
/
1 4
2
输出: 4
1 ≤ k ≤ 二叉搜索树元素个数
直接右中左,新建count来记录数,找到第k个存储。
时间复杂度 O(n) 空间复杂度 O(1)
Java
public static int ans; public static int count=0; public static int kthLargest(TreeNode root, int k) { if (root == null) { return -1; } dfs(root, k); return ans; } public static void dfs(TreeNode root, int k) { if(root == null) { return; } dfs(root.right, k); count++; if(count == k) { ans = root.val; } dfs(root.left, k); }