티스토리 뷰
기술(Tech, IT)/리트코드(LeetCode)
[LeetCode] 270. Closest Binary Search Tree Value
Daniel803 2023. 2. 17. 16:43Binary Search Tree의 root node와 Target value가 주어지고, Tree의 모든 node를 탐색해 Target value의 가장 근사한 value를 가진 node를 return하면 된다. DFS를 통해 left child와 right child가 존재하면 계속 탐색해 나가는 방식으로 구현했다.
class Solution:
def closestValue(self, root: Optional[TreeNode], target: float) -> int:
def dfs(node, target):
l = r = math.inf
if node.left != None:
l = abs(node.left.val - target)
if node.right != None:
r = abs(node.right.val - target)
if self.diff > l:
self.diff = l
self.ret = node.left.val
if self.diff > r:
self.diff = r
self.ret = node.right.val
if node.left != None:
dfs(node.left, target)
if node.right != None:
dfs(node.right, target)
self.ret = root.val
self.diff = abs(root.val - target)
dfs(root, target)
return self.ret반응형
'기술(Tech, IT) > 리트코드(LeetCode)' 카테고리의 다른 글
| [LeetCode] 277. Find the Celebrity (2) | 2023.02.21 |
|---|---|
| [LeetCode] 272. Closest Binary Search Tree Value II (0) | 2023.02.18 |
| [LeetCode] 261. Graph Valid Tree (0) | 2023.02.15 |
| [LeetCode] 267. Palindrome Permutation II (0) | 2023.02.14 |
| [LeetCode] 266. Palindrome Permutation (0) | 2023.02.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리트코드
- 투 포인터
- leetcode
- I2C
- The Economist
- tf-idf
- defaultdict
- DICTIONARY
- 파이썬
- The Economist Espresso
- 안드로이드
- ml
- min heap
- vertex shader
- 이코노미스트 에스프레소
- 머신 러닝
- Android
- C++
- socket programming
- 딕셔너리
- 이코노미스트
- Python
- 오블완
- 소켓 프로그래밍
- java
- 티스토리챌린지
- Hash Map
- join
- machine learning
- Computer Graphics
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형
