剑指 Offer 54. 二叉搜索树的第k大节点
思路
由于是二叉搜索树,因此只需要按照中序遍历即可,但是它要求找到第k大的值,因此应该反中序遍历
代码
class Solution {
int res,k;
public int kthLargest(TreeNode root, int k) {
this.k=k;
dfs(root);
return res;
}
public void dfs(TreeNode root){
if(root==null||k==0)return;
dfs(root.right);
if(--k==0){
res=root.val;
}
dfs(root.left);
}
}