Leetcode 270. Closest Binary Search Tree Value
Posted lettuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 270. Closest Binary Search Tree Value相关的知识,希望对你有一定的参考价值。
Given a non-empty binary search tree and a target value, find the value in the BST that is closest to the target.
Note:
- Given target value is a floating point.
- You are guaranteed to have only one unique value in the BST that is closest to the target.
沿着root向下找即可,每次判段一下是在root左边还是右边。注意没有child的情况。
1 # Definition for a binary tree node. 2 # class TreeNode(object): 3 # def __init__(self, x): 4 # self.val = x 5 # self.left = None 6 # self.right = None 7 8 class Solution(object): 9 def closestValue(self, root, target): 10 """ 11 :type root: TreeNode 12 :type target: float 13 :rtype: int 14 """ 15 #if target == root.val: 16 # return root.val 17 18 if target < root.val: 19 if not root.left: 20 return root.val 21 else: 22 c1 = self.closestValue(root.left, target) 23 if abs(c1 - target) < abs(root.val - target): 24 return c1 25 else: 26 return root.val 27 else: 28 if not root.right: 29 return root.val 30 else: 31 c2 = self.closestValue(root.right, target) 32 if abs(c2 - target) < abs(root.val - target): 33 return c2 34 else: 35 return root.val
以上是关于Leetcode 270. Closest Binary Search Tree Value的主要内容,如果未能解决你的问题,请参考以下文章
270. Closest Binary Search Tree Value
270. Closest Binary Search Tree Value
[LC] 270. Closest Binary Search Tree Value
270. Closest Binary Search Tree Value - Easy