LeetCode #270 - Closest Binary Search Tree Value

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01 当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。 阅读详情

题目描述:

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.

Example:

Input: root = [4,2,5,1,3], target = 3.714286

    4

   / \

  2   5

 / \

1   3

Output: 4

利用递归遍历二叉树,根据节点值的大小和目标值比较,判断遍历的方向。

class Solution {
public:
    int closestValue(TreeNode* root, double target) {
        int result=root->val;
        traversal(root, target, result);
        return result;
    }
    
    void traversal(TreeNode* root, double target, int& result)
    {
        if(root==NULL) return;
        if(abs(result-target)>abs(root->val-target)) result=root->val;
        if(root->val>target) traversal(root->left, target, result);
        else if(root->val<target) traversal(root->right, target, result);
        else return;
    }
};

采用迭代的方法,维持一个指针,从根节点开始,根据节点值的大小和目标值比较来移动指针,从而决定遍历方向。

class Solution {
public:
    int closestValue(TreeNode* root, double target) {
        int result=root->val;
        while (root) 
        {
            if(abs(result-target)>=abs(root->val-target)) 
                result=root->val;
            if(target<root->val) root=root->left;
            else if(target>root->val) root=root->right;
            else if(target==root->val) return root->val;
        }
        return result;
    }
};

 

LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析) 本文解析了 LeetCode 第 270 题“Closest Binary Search Tree Value”,旨在帮助读者掌握在二叉搜索树(BST)中高效查找最接近目标值的技巧。通过利用 BST 的特性,代码从根节点开始,根据目标值与当前节点值的大小关系,决定向左子树还是右子树搜索,并记录最接近的节点。文章提供了 Swift 语言的解题方案,并通过示例测试验证了代码的正确性。该方法的时间复杂度在平衡 BST 中为 O(log n),空间复杂度为 O(1),适用于需要快速查找接近某个值的场景,如推荐系统或 阅读详情

相关推荐

Keil5编译报错:ARM Compiler Version 5缺失的完整解决方案

本文提供了Keil5编译报错“ARM Compiler Version 5缺失”的完整解决方案。详细介绍了手动安装ARM Compiler Version 5的步骤,包括下载安装包、配置编译器路径及常见问题排查,帮助开发者快速恢复老项目的编译环境。

bb456的博客 945

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

由于根节点是中间值,在往下遍历时,根据目标值和根节点的值大小关系来比较,如果目标值小于节点值,则应该找更小的值,于是到左子树去找,反之去右子树找。问题是如何利用二叉搜索树的特性来减少操作?......

OceanStar的博客 796

linux虚拟机和电脑ping通(可上网)

linux虚拟机(Ubuntu)和电脑ping通。

观则明的博客 4118

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

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

少说,多做。 6829

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路

本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。

weixin_29306875的博客 671

基于STM32的智能衣柜系统开发实战(附完整源码与硬件设计)

本文详细介绍了基于STM32的智能衣柜系统开发实战,包括硬件设计、软件架构和云端功能实现。系统具备实时温湿度监控、自动加热除湿、紫外线杀菌等核心功能,通过STM32F103C8T6主控芯片和ESP8266无线模块实现智能控制。附完整源码与硬件设计,适合科技爱好者和开发者参考。

peach的博客 782

【Leetcode】270. Closest Binary Search Tree Value

题目地址: https://leetcode.com/problems/closest-binary-search-tree-value/ 给定一棵二叉搜索树,每个节点的值都是整数,再给定一个浮点数target,问二叉搜索树中与target离的最近的数是多少。 思路是二分法。如果target小于树根,显然答案只存在于左子树或者树根本身;如果target大于树根,显然答案只存在于右子树或者树根本身。...

数学、算法爱好者的博客 311

代谢组数据分析(零):从质谱样本制备到MaxQuant搜库(蛋白质组和代谢组)

本文详细介绍了代谢组数据分析的过程,从LC-MS/MS技术的样本制备、分离、质谱鉴定到MaxQuant软件的使用。LC-MS/MS包括样本制备、液相色谱分离、质谱上机和鉴定等步骤。MaxQuant在蛋白质定性和定量中扮演关键角色,通过搜库和数据处理提供精准结果。此外,文章还涉及了数据采集模式、质谱图谱解析、数据库和软件选择以及结果评估等方面

专注生信领域 8590

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

文章目录1. 题目2. 解题2.1 暴力查找2.2 二分查找 1. 题目 给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的数值。 注意: 给定的目标值 target 是一个浮点数 题目保证在该二叉搜索树中只会存在一个最接近目标值的数 示例: 输入: root = [4,2,5,1,3],目标值 target = 3.714286 4 / \ 2 5 / \ 1 3 输出: 4 来源:力扣(LeetCode) 链接:h

Michael是个半路程序员 2078

Mac mini M2 部署 OpenClaw:最稳 7×24 本地 AI 服务器

Mac mini M2 凭借其强大的 M2 芯片、低功耗和静音特性,成为部署 OpenClaw AI 服务器的理想平台。本文详细介绍了从系统配置到 OpenClaw 部署的全过程,包括 Docker 环境搭建、docker-compose 编排、性能优化方案以及开机自启设置。通过统一内存架构和高效 SSD,M2 版 Mac mini 在 AI 推理速度上显著优于前代产品,同时保持极低的功耗(仅 8W),适合 7×24 小时稳定运行。部署方案充分利用了容器化技术,确保了服务的可靠性和可维护性。

一键难忘的博客 2954

已解决“TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败“,亲测有效!!!

已解决"TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败",亲测有效!!!

wbajsjhhhhh的博客 1万+

【LeetCode270】最接近的二叉搜索树值

1.题目描述 给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的数值。 注意: 给定的目标值 target 是一个浮点数 题目保证在该二叉搜索树中只会存在一个最接近目标值的数 示例: 输入: root = [4,2,5,1,3],目标值 target = 3.714286 4 / \ 2 5 / \ 1 ...

u011646912的博客 1249

抓包网络调试工具 reqable抓包教程

如果CA根证书未安装成功,网络图标是黄色,点击盾牌图标可以进入CA根证书安装界面,详细步骤请阅读。在API调试中,获取流量是第一步也是最基本的操作,这里讲解下如何使用Reqable获取流量,通俗地讲就是抓包。我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。如果系统代理未设置,网络图标是黄色,点击网络图标可以自动设置系统代理。此域名的结构树,可以查看该域名下所有请求的目录结构,点击选择可以查看该请求的详情。首先,需要启用Reqable的调试功能,点击最右上角的。打开浏览器,输入地址。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2562

Leetcode日练笔记7 #270 Closest Binary Search Tree Value

#270Closest Binary Search Tree Value Given therootof a binary search tree and atargetvalue, returnthe value in the BST that is closest to thetarget. 解题思路: 本来一拿到题,完全没有头绪。 看example后。好像直接对root的list直接sorted,按diff从小到大排取最小的就好。 但是忘了树节点和list的对应关系了。 I...

Bittersweet_t的博客 343

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Leetcode 刷题 - 270 - Closest Binary Search Tree Value

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 o

330

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode 272. Closest Binary Search Tree Value II - 二叉搜索树(Binary Search Tree)系列题7

​这题也是给定一个二叉搜索树和一个目标数,跟270. Closest Binary Search Tree Value不同的是,这要求找出树中k个最接近目标数的节点。 关于求k个最接近的数,很自然地想到用优先级队列。根据题意应该要用最大堆的优先级队列,比较函数比较的是节点值与目标值差的绝对值。

hgq522的博客 413

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LeetCode 270. Closest Binary Search Tree Value - 二叉搜索树(Binary Search Tree)系列题6

题目给定一棵二叉搜索树和一个目标数,要求找到树中值最接近目标数的那个节点(两者差的绝对值最小)。 解法跟查找树中是否存在一个值等于目标数的节点一样,基本思路就是利用二叉搜索树的特点,左子树所有节点值都小于根节点值,右子树所有节点值都大于根节点值。

hgq522的博客 372

Leetcode 270. Closest Binary Search Tree Value

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...

weixin_30439031的博客 124

[LeetCode] 270. Closest Binary Search Tree Value 最近的二叉搜索树的值

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...

weixin_30918633的博客 154

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

前序,优先队列的

邹九的个人博客 474

LeetCode 270. 二叉搜索树中查找与目标数字最接近的节点

思路:如果当前节点值小于目标值,则结果只可能是当前节点值或者右子树中的值;如果当前节点值大于目标值,则结果只可能是当前节点值或者左子树中的值。struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL){} };...

小菜鸟的博客 2348

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

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

Keep Coding 1721

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

*问题描述: *给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的数值。 注意: 给定的目标值 target 是一个浮点数 题目保证在该二叉搜索树中只会存在一个最接近目标值的数 示例: 输入: root = [4,2,5,1,3],目标值 target = 3.714286 输出: 5 **思路:***先遍历求绝对值保存map,然后求最小的可以,最后求其value 上代码拿去即可运行 在这里插入代码片 package com.onlyqi.upup01

GQ_666的博客 453

LeetCode 270. Closest Binary Search Tree Value

Problem Description: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

xinqrs01的博客 269

leetcode | c++ | 第270题 | 最接近的二叉搜索树值

最接近的二叉搜索树值

iCling的博客 333

LeetCode 261-270 题详细解析

​:有一排房子,每个房子可以用k种颜色中的一种来粉刷,每个房子粉刷成不同颜色的花费不同。​:给定编号从 0 到 n-1 的 n 个节点和一个无向边列表,判断这些节点能否形成一棵有效的树。动态规划优化,记录前一个房子的最小花费和次小花费,避免每次都要遍历所有颜色。​:给定一个包含[0, n]中n个数的数组,找出数组中缺失的那个数字。方法1:数学公式 - 计算0到n的和,减去数组中所有数的和。​:给定一个按外星字典序排序的单词列表,推断出字母的顺序。​:找出第n个丑数(只包含质因数2、3、5的正整数)。

fengruxue的专栏 472
上一篇: LeetCode #269 - Alien Dictionary
下一篇: LeetCode #272 - Closest Binary Search Tree Value II
LawFile
博客等级 码龄10年 5粉丝 627原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值