Given a non-empty binary search tree and a target value, find the value in the BST that's closest to the target.
Note:
- Given target value is a floating point.
- Guaranteed to has only one unique value in the BST, which is closest to the target.
Search down the root, and each sentence is on the left or right side of the root. Note that there is no child condition.
1 #Definition for a binary tree node.2 #class TreeNode (object):3 #def __init__ (self, x):4 #self.val = x5 #self.left = None6 #self.right = None7 8 classsolution (object):9 defClosestvalue (self, root, target):Ten """ One : Type Root:treenode A : Type Target:float - : Rtype:int - """ the #if target = = Root.val: - #return Root.val - - ifTarget <Root.val: + if notRoot.left: - returnRoot.val + Else: AC1 =Self.closestvalue (root.left, target) at ifABS (C1-target) < ABS (Root.val-target): - returnC1 - Else: - returnRoot.val - Else: - if notRoot.right: in returnRoot.val - Else: toC2 =Self.closestvalue (root.right, target) + ifABS (C2-target) < ABS (Root.val-target): - returnC2 the Else: * returnRoot.val
Leetcode 270. Closest Binary Search Tree Value