二分查找
利用二分搜索树的性质进行二分查找,在查找的过程中记录最接近的值即可
class Solution {double min = Double.MAX_VALUE;int minValue ;public int closestValue(TreeNode root, double target) {minValue = root.val;close(root,target); //二分查找return minValue;}public void close(TreeNode root,double target){if(root==null) //终止条件return;if(Math.abs(root.val-target)<min){ //如果最接近 则更新最值min = Math.abs((double)root.val-target);minValue = root.val;}//二分查找if(target>(double)root.val)close(root.right,target);elseclose(root.left,target);}}
