230. 二叉搜索树中第K小的元素

image.png
image.png

递归解法

例用二叉搜索树中序遍历的特点,再使用 n 记录遍历个数,如果 n == k 说明找到想要的答案

执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:38.2 MB, 在所有 Java 提交中击败了66.06%的用户

  1. class Solution {
  2. int n = 0;
  3. int ank = -1;
  4. public int kthSmallest(TreeNode root, int k) {
  5. recursion(root, k);
  6. return ank;
  7. }
  8. private void recursion(TreeNode node, int k) {
  9. if (node == null) return;
  10. recursion(node.left, k);
  11. if (++n == k) {
  12. ank = node.val;
  13. return;
  14. }
  15. recursion(node.right, k);
  16. }
  17. }