跳至主要內容

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

daipeng小于 1 分钟

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

如下,第1大的节点是4

二叉搜索树的前序遍历序列就是相应的顺序序列。

    private int val;
    private int count = 0;
    public int kthLargest(TreeNode root, int k) {
        dfs(root,k);
        return val;
    }
     private void dfs(TreeNode node,int k){
        if(node == null){
            return;
        }
        dfs(node.right,k);
        count++;
        if(count == k){
            val = node.val;
            return;
        }
        dfs(node.left,k);
    }