法1:中序遍历
最简练的写法,牢记!!!
class Solution {
public int kthSmallest(TreeNode root, int k) {
List<Integer> res = new ArrayList<>();
find(root, res, k);
int lastIndex = Math.min(res.size() - 1, k - 1);
return res.get(lastIndex);
}
public void find(TreeNode root, List<Integer> res, int k) {
if (root == null || res.size() == k) {
return;
}
find(root.left, res, k);
res.add(root.val);
find(root.right, res, k);
}
}