剑指 Offer 第54题:二叉搜索树的第k大节点

2022-08-17  本文已影响0人  放开那个BUG

1、前言

题目描述

2、思路

二叉树的中序遍历,但是需要调换下顺序,先 right,后中,最后 left。

3、代码

class Solution {

    private int res;
    private int index = 1;

    public int kthLargest(TreeNode root, int k) {
        dfs(root, k);

        return res;
    }

    private void dfs(TreeNode root, int k){
        if(root == null){
            return;
        }

        dfs(root.right, k);
        if(this.index++ == k){
            res = root.val;
        }
        dfs(root.left, k);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读