Closest Binary Search Tree Value
Description
null
Solution(javascript)
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @param {number} target
* @return {number}
*/
const closestValue = function (root, target) {
const aux = (node, min, result) => {
if (!node) {
return result
}
const { val } = node
if (val > target) {
if (val - target < min) {
min = val - target
result = val
}
return aux(node.left, min, result)
}
if (target - val < min) {
min = target - val
result = val
}
return aux(node.right, min, result)
}
return aux(root, Infinity, 0)
}