티스토리 뷰
기술(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
- Python
- leetcode
- The Economist Espresso
- machine learning
- 이코노미스트 에스프레소
- join
- 소켓 프로그래밍
- 딕셔너리
- The Economist
- 안드로이드
- Computer Graphics
- Android
- java
- defaultdict
- 티스토리챌린지
- socket programming
- min heap
- C++
- 머신 러닝
- Hash Map
- 리트코드
- DICTIONARY
- I2C
- 오블완
- tf-idf
- 파이썬
- ml
- vertex shader
- 이코노미스트
- 투 포인터
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
반응형
