700. Search in a Binary Search Tree
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
# node.val == val 인 node return
cur = root
while cur:
if cur.val == val:
return cur
elif cur.val < val: # 현재 값 < 검색값 이면, 오른쪽으로
cur = cur.right
else: # 현재 값 > 검색값 이면 => 검색값 < 현재값 이면, 왼쪽으로
cur = cur.left
# 루프 돌아도 없으면, 존재 안하므로.
return None # 명시적으로 적는 것이 더 나음, 안적어도, 기본으로 return None 함. c++에서 return 0 하듯이.
'job 인터뷰 > 코테(Matroid) 준비' 카테고리의 다른 글
[Backtracking] 17. Letter Combinations of a Phone Number ★ (1) | 2024.11.22 |
---|---|
BST: 450. Delete Node in a BST ★ (0) | 2024.11.18 |
Tree: 104. Maximum Depth of Binary Tree (2) | 2024.11.15 |
[Two Pointers] 11. Container With Most Water ★ (1) | 2024.11.12 |
[LeetCode 75] Medium - 151. Reverse Words in a String (3) | 2024.11.11 |