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