LC 0270 [E] Closest Binary Search Tree Value - ALawliet/algorithms GitHub Wiki
preorder
class Solution:
def closestValue(self, root: TreeNode, target: float) -> int:
self.closest = math.inf
def dfs(node, value):
if not node: return
min_diff = abs(self.closest - target)
new_diff = abs(node.val - target)
if new_diff < min_diff:
self.closest = node.val
if target < node.val:
dfs(node.left, target)
if target > node.val:
dfs(node.right, target)
dfs(root, target)
return self.closest