LeetCode_1700_二叉搜索树的第K大节点

题目链接

解题思路

  • 二叉搜索数的中序遍历结果是一个递增数组

  • 中序遍历数组,并将值记录在list

  • 答案为list.get(list.size() - k)

AC代码

class Solution {
    public int kthLargest(TreeNode root, int k) {
        ArrayList<Integer> list = new ArrayList<>();
        midOrderRe(root, list);
        return list.get(list.size() - k);
    }

    public static void midOrderRe(TreeNode root, List<Integer> list) {
        if (root == null) {
        }
        else {
            midOrderRe(root.left, list);
            list.add(root.val);
            midOrderRe(root.right, list);
        }
    }
}

版权声明:本文为Fitz1318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。