news 2026/2/4 4:28:18

Leetcode会员尊享100题:270.最接近的二叉树值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Leetcode会员尊享100题:270.最接近的二叉树值

给你二叉搜索树的根节点root和一个目标值target,请在该二叉搜索树中找到最接近目标值target的数值。如果有多个答案,返回最小的那个。

示例 1:

输入:root = [4,2,5,1,3], target = 3.714286输出:4

示例 2:

输入:root = [1], target = 4.428571输出:1

提示:

  • 树中节点的数目在范围[1, 104]
  • 0 <= Node.val <= 109
  • -109 <= target <= 109

直接上代码:

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public int closestValue(TreeNode root, double target) { Info info = getInfo(root, target); return info.value; } public Info getInfo(TreeNode root, double target) { if(root == null) { return new Info(Integer.MAX_VALUE, Integer.MAX_VALUE); } if(root.left == null && root.right == null) { return new Info(root.val, Math.abs(root.val - target)); } /**拿到左右子树的信息 */ Info leftInfo = getInfo(root.left, target); Info rightInfo = getInfo(root.right, target); /**当前的最小差是左右树的最小差以及跟节点和target的差的最小值 */ double distance = Math.min(Math.abs(root.val - target), Math.min(leftInfo.distance, rightInfo.distance)); int value = distance == leftInfo.distance? leftInfo.value : distance == rightInfo.distance? rightInfo.value : root.val; /**有可能有重复的值,需要判断取最小那个 */ if(distance == leftInfo.distance) { value = Math.min(value, leftInfo.value); } if(distance == rightInfo.distance) { value = Math.min(value, rightInfo.value); } if(distance == Math.abs(root.val - target)) { value = Math.min(value, root.val); } /**返回当前树的信息 */ return new Info(value, distance); } } class Info { int value; double distance; public Info(int value, double distance) { this.value = value; this.distance = distance; } }

看不懂的请私信或者留言,二叉树的所有问题,我倾向于使用二叉树的递归套路,这个题其实可以用DFS,我懒得用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 7:35:41

三步让阿里云配置好 clawdbot(moltbot)附上专属优惠

就在刚刚&#xff08;2026年1月28日&#xff09;&#xff0c;阿里云正式宣布上线 Moltbot&#xff08;原名&#xff1a;Clawdbot&#xff09; 全套云服务&#xff01;这对于想做AI Agent的开发者来说是个重磅消息。它全面提供了Agent所需的算力、模型和消息应用支持 。 简单来…

作者头像 李华
网站建设 2026/2/2 16:48:44

腾讯地图:2026 年的技术革新与应用拓展

在 2026 年&#xff0c;数字化浪潮席卷各行各业&#xff0c;地图服务作为连接物理与数字世界的关键纽带&#xff0c;其重要性愈发凸显。腾讯地图凭借一系列技术革新与应用优化&#xff0c;成为了众多企业和开发者的首选。 强大技术架构支撑 腾讯地图拥有从 LBS 到时空引擎的进…

作者头像 李华
网站建设 2026/2/4 4:03:44

宠物寄养小程序前端功能版块详解

宠物寄养小程序以场景化前端功能为支撑&#xff0c;打通宠主寄养需求与机构服务能力的对接通道&#xff0c;既缓解宠主外出时的照料焦虑&#xff0c;又助力寄养机构规范服务流程。其前端设计围绕需求精准匹配、服务过程可视化、操作便捷化三大核心&#xff0c;构建全周期服务功…

作者头像 李华
网站建设 2026/2/2 9:28:44

用AI写英文论文,又用降AIGC系统降AI率,这样做的意义在哪?

有同学直接用AI完成英文论文后发现论文AIGC率高&#xff0c;又用降AIGC系统把论文AI率降低&#xff0c;这么做的意义在哪&#xff1f; 自从AI问世以来&#xff0c;很多需要写论文的学生发现这类AI工具简直就是对于写作困难的人的大救星&#xff0c;利用AI工具可以完成各类论文…

作者头像 李华
网站建设 2026/2/2 9:21:21

凌晨两点还在调 Dify 环境?我后悔没早点知道 Sealos

那是一个普通的周三&#xff0c;产品经理下午三点甩来需求&#xff1a;"咱们搭个 AI 客服系统&#xff0c;用 Dify 对接 DeepSeek&#xff0c;下周演示。" 我心想&#xff1a;小场面。 然后时间快进到凌晨两点&#xff0c;我对着屏幕上第 47 次报错的 Docker Compose…

作者头像 李华
网站建设 2026/2/2 5:58:30

decode html

电子邮件 decode html 转义处理 支持 </& gt; 中间有空格的情况&#xff08;如 & lt;&#xff09;。这样即使内容被多次编码或含空格&#xff0c;也能正确恢复成 <img> 标签显示表情。 /*** 转义处理* 支持 </& gt; 中间有空格的情况&#xff08;如…

作者头像 李华