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.

答案

class Solution {
    public int closestValue(TreeNode root, double target) {
        TreeNode curr = root;
        int ans = root.val;
        while(curr != null) {
            double diff1 = Math.abs(target - curr.val), diff2 = Math.abs(target - ans);
            if(diff1 < diff2) ans = curr.val;
            curr = (target < curr.val) ? curr.left : curr.right;
        }
        return ans;
    }   
 }

你可能感兴趣的:(Closest Binary Search Tree Value)