Skip to content

Commit fc8d8b4

Browse files
author
Partho Biswas
committed
no message
1 parent d42a61a commit fc8d8b4

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

leetcode.com/python/270_Closest_Binary_Search_Tree_Value.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,28 @@ def insert(self, val):
2323

2424

2525
class Solution(object):
26-
2726
def closestValue(self, root, target):
27+
"""
28+
:type root: TreeNode
29+
:type target: float
30+
:rtype: int
31+
"""
2832
return self.closestValueHelper(root, target, float("inf"))
2933

30-
def closestValueHelper(self, root, target, closest):
34+
def closestValueHelper(self, root, targetVal, currentClosestNodeVal):
3135
currentNode = root
3236
while currentNode is not None:
33-
t1 = abs(target - closest)
34-
t2 = abs(currentNode.val - target)
35-
if t1 > t2:
36-
closest = currentNode.val
37-
if target < currentNode.val:
37+
currentClosestDiff = abs(targetVal - currentClosestNodeVal)
38+
currentDiff = abs(currentNode.val - targetVal)
39+
if currentClosestDiff > currentDiff:
40+
currentClosestNodeVal = currentNode.val
41+
if targetVal < currentNode.val:
3842
currentNode = currentNode.left
39-
elif target > currentNode.val:
43+
elif targetVal > currentNode.val:
4044
currentNode = currentNode.right
4145
else:
4246
break
43-
return closest
47+
return currentClosestNodeVal
4448

4549

4650
test_tree = TreeNode(4).insert(2).insert(5).insert(1).insert(3)

0 commit comments

Comments
 (0)