54-二叉搜索树的第k大节点

2020-05-07  本文已影响0人  一方乌鸦

给定一棵二叉搜索树,请找出其中第k大的节点。
只要知道二叉搜索树中序遍历,从小到大排列

class Solution {
    int k;
    int res;
    public int kthLargest(TreeNode root, int k) {
        this.k = k;
        recur(root);
        return res;
    }

    private void recur(TreeNode node) {
        if (node.right != null) recur(node.right);
        k--;
        if (k == 0) {
            res = node.val;
            return;
        }
        if (node.left != null) recur(node.left);
    }
}
上一篇下一篇

猜你喜欢

热点阅读