题目链接
解题思路
-
二叉搜索数的中序遍历结果是一个递增数组
-
中序遍历数组,并将值记录在
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);
}
}
}