270 Closest Binary Search Tree Value
270. Closest Binary Search Tree Value
1.Question
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. 
2. Implementation
(1) Binary Search
class Solution {
    public int closestValue(TreeNode root, double target) {
        TreeNode curNode = root;
        int res = root.val;
        while (curNode != null) {
            if (curNode.val == target) {
                return curNode.val;
            }
            else if (Math.abs(curNode.val - target) < Math.abs(res - target)) {
                res = curNode.val;
            }
            curNode = curNode.val < target ? curNode = curNode.right : curNode.left;
        }
        return res;
    }
}3. Time & Space Complexity
Binary Search: 时间复杂度: O(logn), 空间复杂度: O(1)
Previous298 Binary Tree Longest Consecutive SequenceNext549 Binary Tree Longest Consecutive Sequence II
Last updated
Was this helpful?