LeetCode-270-Python. 最接近的二叉搜索树值
描述:
给一颗非空二叉搜索树以及一个target值,找到在二叉搜索树中最接近给定值的节点值。
注意:
- 给出的目标值为浮点数
- 我们可以保证只有唯一一个最接近给定值的节点
示例:
在这里插入代码片输入: root = {5,4,9,2,#,8,10} and target = 6.124780
输出: 5
解释:
二叉树 {5,4,9,2,#,8,10},表示如下的树结构:
5
/ \
4 9
/ / \
2 8 10
二叉搜索树(Binary Search Tree):
二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:
- 若其左子树存在,则其左子树中每个节点的值都不大于该节点值;
- 若其右子树存在,则其右子树中每个节点的值都不小于该节点值。
二叉搜索树示例如图:
二叉搜索树的特性:
根据以上的定义,可以得出结论 左子树节点值<根节点值<右子树节点值,也就是二叉搜索树的中序遍历是递增的。
思路:
按照中序遍历去查找最接近target的值,代码如下
def closestValue(self, root, target):
if not root: