Easy
Closest Binary Search Tree Value — Python
Full explanation · Time O(h) · Space O(1)
# Time: O(h)
# Space: O(1)
class Solution(object):
def closestValue(self, root, target):
"""
:type root: TreeNode
:type target: float
:rtype: int
"""
gap = float("inf")
closest = float("inf")
while root:
if abs(root.val - target) < gap:
gap = abs(root.val - target)
closest = root.val
if target == root.val:
break
elif target < root.val:
root = root.left
else:
root = root.right
return closest