2022년 04월 18일 월요일 - 해가 마니 길어져따


오늘 올려볼 문제는 230번 Kth Smallest Element in a BST 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진 leetcode 문제 사진

오늘도 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 문제 맞았습니다


오늘은 너무 문제를 깔쌈하게 잘 풀었다.

내일도 이렇게 잘 풀었으면 좋겠다.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts