[Binary Search Tree, Easy] Search in a Binary Search Tree

송재호·2025년 4월 1일
0

https://leetcode.com/problems/search-in-a-binary-search-tree/description/?envType=study-plan-v2&envId=leetcode-75

이진 탐색 트리는 왼쪽이 작고 오른쪽이 크다.
val을 기준으로 오른쪽으로 갈 지, 왼쪽으로 갈 지 판단하면 되겠다.
계속 순회하면서 root.val == val인 경우는 바로 리턴해주고, while이 끝날때까지 못 찾으면 null이 될테니 요구조건을 만족한다.

참고: 마지막 부분에 return null로 바꿔주면 메모리를 살짝 덜 써서 71.62% Beats 달성할 수 있다. return root 하는 경우 참조를 더 오래 가지고 있는 듯

class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        while (root != null) {
            if (root.val == val) {
                return root;
            }

            if (root.val < val) {
                root = root.right;
            } else {
                root = root.left;
            }
        }
        return root;
    }
}
profile
식지 않는 감자

0개의 댓글