2022년 04월 18일 월요일 - 해가 마니 길어져따
오늘 올려볼 문제는 230번 Kth Smallest Element in a BST 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
아 너무 깔끔해 개머시써 이러니깐 프로그램들이 뻑이가지
입력
사진에서도 볼 수 있듯이 Binary Search Tree 1개와 int 값 1개가 입력으로 들어온다.
풀이 및 코드
Binary Search Tree 중에서 k 번째로 작은 수를 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
dfs를 사용하는데 왼쪽부터 순회하면서 자기 자신을 순회할 때 k값을 떨어뜨리고 k가 0이 되면 그 값을 저장하여 리턴하게끔 구현했다.
이제 코드를 봐보자!
풀이코드
class Solution {
int num;
TreeNode result;
public int kthSmallest(TreeNode root, int k) {
num = k;
solve(root);
return result.val;
}
public void solve(TreeNode root)
{
if(root == null || result != null) return;
solve(root.left);
num--;
if(num == 0) result = root;
solve(root.right);
}
}
제출 화면
오늘은 너무 문제를 깔쌈하게 잘 풀었다.
내일도 이렇게 잘 풀었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 705번 문제를 풀어보았다. (ft. java) (0) | 2022.04.21 |
---|---|
[LeetCode] 173번 문제를 풀어보았다. (ft. java) (0) | 2022.04.20 |
[LeetCode] 897번 문제를 풀어보았다. (ft. java) (0) | 2022.04.17 |
[LeetCode] 538번 문제를 풀어보았다. (ft. java) (0) | 2022.04.16 |
[LeetCode] 700번 문제를 풀어보았다. (ft. java) (0) | 2022.04.14 |