미소를뿌리는감자의 코딩
[leetcode 2024/02/17] 700. Search in a Binary Search Tree 본문
728x90
https://leetcode.com/problems/search-in-a-binary-search-tree/description/
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
1. 접근 방법
이번 문제는 특정 노드를 반환하는 노드라고 해석할 수 있을 것 같다.
val 이 주어졌을 때, 해당 val을 node.val 로 가지는 노드를 찾아, 그 노드를 반환하면 된다.
이진 탐색 트리에서 특정 노드가 삽입 될 때, 제 자리를 찾아가는 느낌으로 코드를 작성하였다.
만약
node.val == value 라면, 해당 노드 반환
node.val < value 이면, 오른쪽 노드로 이동.
node.val > value 이면, 왼쪽 노드로 이동하게 만들었다.
2. 코드
# 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]:
def find_node(node, value):
if node is None:
return
if value == node.val:
return node
elif node.val > value:
return find_node(node.left, value)
return find_node(node.right, value)
return find_node(root, val)
728x90
'코딩 테스트 > leetcode' 카테고리의 다른 글
[leetcode 2024/02/19] 543. Diameter of Binary Tree (0) | 2024.02.19 |
---|---|
[leetcode 2024/02/17] 938. Range Sum of BST (1) | 2024.02.17 |
[leetcode 2024/02/15] 77. Combinations (1) | 2024.02.15 |
[leetcode 2024/02/15] 46. Permutations (1) | 2024.02.15 |
[leetcode 2024/02/15] 17. Letter Combinations of a Phone Number (1) | 2024.02.15 |