玩命加载中 . . .

270-最接近的二叉搜索树值


LeetCode 270. 最接近的二叉搜索树值

给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的数值。

注意:

  • 给定的目标值 target 是一个浮点数
  • 题目保证在该二叉搜索树中只会存在一个最接近目标值的数

示例:

输入: root = [4,2,5,1,3],目标值 target = 3.714286

    4
   / \
  2   5
 / \
1   3

输出: 4

method

迭代:大于当前节点就往右找,小于就往左找

int closestValue(TreeNode* root, double target) {
    int res = INT_MAX;
    while (root) {
        res = abs(root->val - target) < abs(res - target) ? root->val : res;
        if (root->val < target) root = root->right;
        else root = root->left; 
    }
    return res;
}

文章作者: kunpeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kunpeng !
  目录