λ¬Έμ νμ
k
λ²μ§Έλ‘ μμ κ°μ μΆλ ₯ν΄μΌνλ€.
νμ΄
1οΈβ£ μ€μ μνλ₯Ό μ΄μ©ν νμ΄
π‘ λ μ€λ₯Έ Idea
νΈλ¦¬ ꡬ쑰μμ μ€μ μνλ₯Ό νλ©΄ μ€λ¦μ°¨μ μμλ‘ λ Έλ λ°μ΄ν°λ₯Ό μΆλ ₯ν μ μλ€.
μ΄λ¬ν μ리λ₯Ό μ μ©νμ¬ kλ²μ§Έ λ Έλμ μ κ·Όνμ λ, κ°μ μ μ₯νλλ‘ κ΅¬ννλ©΄ λκ² λ€κ³ νλ¨νμλ€.
class Solution {
int ans = 0;
int idx = 1;
public int kthSmallest(TreeNode root, int k) {
inOrder(root, k);
return ans;
}
private void inOrder(TreeNode node, int k) {
if (node == null) {
return;
}
inOrder(node.left, k);
if (idx == k) {
ans = node.val;
}
idx++;
inOrder(node.right, k);
}
}
κ²°κ³Ό
π νκ³
μ΄μ μ ν΄κ²°νλ,
μ΄ λ¬Έμ μ νμ΄ λ°©μμ΄ κ±°μ λμΌν΄μ μ½κ² ν΄κ²°ν μ μμλ€.