leetcode270. 最接近的二叉搜索树值

leetcode270. 最接近的二叉搜索树值给定一个不为空的二叉搜索树和一个目标值 target 请在该二叉搜索树中找到最接近目标值 target 的数值 注意 给定的目标值 target 是一个浮点数题目保证在该二叉搜索树中只会存在一个最接近目标值的数示例 输入 root 4 2 5 1 3 目标值 target 3 25 13 输出 4

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

注意:

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

输出: 4

思路:二分,当前节点比target大就往左边搜(因为右边的差距更大),当前节点比target小就往右搜(因为左边的差距更大)。

/ * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public int closestValue(TreeNode root, double target) { int val, closest = root.val; while (root != null) { val = root.val; closest = Math.abs(val - target) < Math.abs(closest - target) ? val : closest; root = target < root.val ? root.left : root.right; } return closest; } }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227001.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:10
下一篇 2026年3月16日 下午10:11


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号