【树-简单】530. 二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差 本题可利用二叉搜索树(BST)的特性:中序遍历结果为升序序列。在升序序列中,相邻元素的差的绝对值最小,因此通过中序遍历 BST 并比较相邻节点的值即可得到答案。给你一棵所有节点为非负值的二叉搜索树(BST),请你计算树中任意两节点的差的绝对值的最小值。 阅读详情

【题目】
给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。

示例:

输入:

1

3
/
2

输出:
1

解释:
最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。

提示:

树中至少有 2 个节点。
本题与 783 https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/ 相同

【代码】
在这里插入图片描述

class Solution:
    def visit(self,root):
        if not root:
            return 
        self.ans.append(root.val)
        self.visit(root.left)
        self.visit(root.right)

    def getMinimumDifference(self, root: TreeNode) -> int:
        self.ans=[]
        self.visit(root)
        min_diff=None
        self.ans.sort()
        for i in range(1,len(self.ans)):
            if not min_diff:
                min_diff=abs(self.ans[i]-self.ans[i-1])
            else:
                min_diff=min(abs(self.ans[i]-self.ans[i-1]),min_diff)

        return min_diff
Leetcode 530: 二叉搜索树的最小绝对差 给定一个二叉搜索树(BST),找到两个节点之间的最小绝对差。 阅读详情

相关推荐

基于单片机的室内空气质量监控系统设计

摘 要 I Abstract II 引 言 1 1 控制系统设计 3 1.1 方案选择 3 1.2 系统控制原理 4 2系统硬件设计 5 2.1 单片机的选择与设计 5 2.2 温湿度模块设计 6 2.3 甲醛采集模块设计 8 2.4 显示器模块设计 9 2.5 按键模块设计 10 2.6 报警模块设计 11 2.7 加湿及风扇模块设计 11 3系统软件设计 13 3.1 总流程方案设计 13 3.2 温湿度获取的软件设计 14 3.3 液晶屏LCD1602的软件设计 15 4系统调试 13 4

Q_1928499906的博客 2702

【LeetCode】C++ :简单题 - 树 530. 二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差 难度简单224 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 提示: 树中至少有 2 个节点。 本题与 783https://leetcode-cn.com/problems/minimum-distance-between-b...

weixin_44566432的博客 105

GitLab社区版vs企业版:本地部署性能对比与选型建议(含实测数据)

本文深入对比GitLab社区版(CE)与企业版(EE)在本地部署中的性能差异与功能特性,提供实测数据与选型建议。测试显示EE版在并发克隆、CI流水线启动等场景性能提升显著,尤其适合需要高级安全合规与CI/CD功能的团队。文章还包含硬件配置指南与成本效益分析,帮助技术决策者做出明智选择。

weixin_28828243的博客 296

Java实现 LeetCode 530 二叉搜索树的最小绝对差(遍历树)

530. 二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 PS: 递归遍历 /** * Definition for a binary tree node. * ...

南 墙 1万+

双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码)

​上一篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法,这篇博客将介绍使用yalmip的双层优化问题的求解方法。 1.KKT函数 通过调用yalmip工具箱中的KKT函数,可以直接求出优化问题的KKT条件,省去自己手动写的步骤。 2.solvebilevel函数 solvebilevel是yalmip工具箱内置的求解双层优化问题的函数。也就是通过这个函数,不需要咱手动写KKT条件,也不需要使用KKT函数,直接把上、下层优化的目标函数、约束条件往里面一放,就能求出结果。 ​

配电网和matlab的博客 1万+

安时积分法和开路电压法结合估算锂电池SOC

基于安时积分法和开路电压法结合的锂电池SOC估计Simulink仿真建模,利用安时积分法计算放电过程中的SOC,在搁置状态利用开路电压法进行SOC修正。

qq_39304296的博客 2559

【二叉树】二叉搜索(BST)树验证、二叉搜索树中的搜索、二叉搜索树的最小绝对差

🌟 二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,它有一些独特的特性,非常适合用来存储数据并快速地进行查找、插入和删除操作。结构特点:每个节点有最多两个子节点,通常被称为“左子节点”和“右子节点”。排序规则每个节点的左子树只包含小于该节点的值。每个节点的右子树只包含大于该节点的值。没有两个节点拥有相同的值。查找效率:由于二叉搜索树的排序特性,查找效率通常比较高。在最理想的情况下(树是平衡的),查找操作的时间复杂度为O(log n),其中n是树中节点的数量。

CXY819394的博客 1742

System Verilog学习笔记(十九)——覆盖率

覆盖率是用来衡量验证精度和完备性的数据指标。也可以告诉我们在仿真时设计的哪些结构被触发,哪些没被触发。高质量的验证需要满足以下三个条件。

ljy77882333的博客 2144

LeetCode530.二叉搜索树的最小绝对差

LeetCode530.二叉搜索树的最小绝对差

Love Peace 845

IEEE Journal of Biomedical and Health Informatics(JBHI)投稿经验分享

《IEEE Journal of Biomedical and Health Informatics投稿经验分享》详细记录了在影响因子6.7的中科院一区期刊JBHI的投稿历程(2025.1-5月,历时4个月)。文章重点分析:1)审稿特色:4位审稿人差异显著,领域专家意见专业但要求严苛;2)修改要点:需重视大修(补充实验/原理阐述),并注意将回复内容同步至正文;3)期刊特点:送审率高但审稿严格,常规投稿周期约4-5个月;4)实用建议:建议首次大修全力以赴,善用AI工具辅助写作,避免拖延。

LiRongLu_的博客 5095

Aurix TC3xx系列MCU DMA模块配置方法(二)

本文主要基于英飞凌Aurix TC3xx系列MCU,通过EB tresos配置工具,介绍DMA驱动模块的配置方法。

m0_38045338的博客 2851

⭐算法入门⭐《二叉树 - 二叉搜索树》简单07 —— LeetCode 530. 二叉搜索树的最小绝对差

《二叉树 - 二叉搜索树》简单07 —— LeetCode 530. 二叉搜索树的最小绝对差

英雄哪里出来 2317

公交车调度排班优化算法研究与实现

本文提出的公交车调度排班优化算法基于遗传算法,能够较好地处理公交车调度排班问题,使得车辆数量和运营时间得到平衡,公交车的使用效率得到了优化。在模拟的公交车路线中,使用本文所提出的算法,得到了一组较优的公交车调度排班方案。其中,车辆数量的多少会影响到公交车的行驶速度和等候时间,而运营时间的长短则会直接影响到公交车的使用效率和成本。本文基于遗传算法,通过随机生成种群、选择、交叉、变异等操作,逐步优化种群中个体的适应度,最终得到较优的公交车调度排班方案。以下是本文中所使用的Matlab代码实现,供参考。

PixelLoom的博客 872

Leetcode 530. 二叉搜索树的最小绝对差 C++

Leetcode 530. 二叉搜索树的最小绝对差 题目 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 提示: 树中至少有 2 个节点。 本题与 783https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/相同

weixin_43750513的博客 249

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

代码随想录算法训练营Day18 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

训练营第18天:530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

jiabao0520的博客 1196

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LeetCode 530. 二叉搜索树的最小绝对差 | Python

根据二叉搜索树的特性,使用递归、迭代的方法实现中序遍历 BST,进而解决 LeetCode《530. 二叉搜索树的最小绝对差》 问题。

"大梦三千秋的博客 673

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

代码随想录算法训练营DAY21|C++二叉树Part.7|530.二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236.二叉树的最近公共祖先

现在我们再问该问题:判断二叉搜索树的最小绝对差是多少?最直观的想法就是:用中序遍历搞成一个有序数组,然后求数组的最小绝对差利用二叉搜索树的特性,最小绝对差必然出现在中序遍历后的相邻结点之间。因为中序遍历是按照递增顺序来阻止的,最小绝对差肯定是相邻的。我们用双指针,在中序遍历的时候直接比较绝对差,这样就不用额外构造数组了。比如说,我们用一个cur和一个pre指针,pre指针则一直跟在cur的屁股后面跑。 这个是如何实现的呢?同时遍历顺序务必要满足中序遍历(让遍历过程是有序的),这样的比较才是有意义的。 双指针

糖炒栗子 1270

Leetcode530. 二叉搜索树的最小绝对差

Leetcode530. 二叉搜索树的最小绝对差 题目: 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 题解: 二插搜索树的中序遍历是有序的,所以直接使用中序遍历,计算前一个节点值和当前节点值的差即可。 java代码: static int min = Integer.MAX_VALUE;

会流泪de鱼的博客 195

530. 二叉搜索树的最小绝对差【 力扣(LeetCode) 】

给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。

yyh520025的博客 725

530. 二叉搜索树的最小绝对差 中序遍历

530. 二叉搜索树的最小绝对差 难度:简单 利用二叉搜索树的性质,对二叉搜索树进行中序遍历,得到的结果是一个递增序列。每次记录下前一个的pre 中序遍历,根的前一个元素是左孩子,右孩子的前一个是根 题目描述 解题思路 整体就是按照中序遍历,记录前一个元素,然后更新最小值 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tree

hh155715的博客 225

LeetCode 530. 二叉搜索树的最小绝对差 || LeetCode 783. 二叉搜索树节点最小距离

给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。

2301_80211119的博客 714

leetcode530.二叉搜索树的最小绝对差:迭代中序遍历的栈操作与差值追踪

左子树优先:通过"右-中-标记-左"的压栈顺序,利用栈的LIFO特性实现"左-中-右"的访问顺序null标记的分隔作用:区分节点的"待处理"和"已访问"状态,避免复杂的状态标记BST有序性的利用:中序遍历结果的有序性是解决问题的关键,无需暴力比较所有节点对栈的逆向压栈:通过创新的压栈顺序,利用栈的LIFO特性实现中序遍历增量差值计算:仅跟踪前一个节点,动态更新最小差值,空间效率高理解这种迭代法的关键是将树的结构特性(BST的有序性)转化为线性序列的相邻差值问题。

Musennn的博客 828
上一篇: 【树-简单】872. 叶子相似的树
下一篇: 【树-简单】面试题 17.12. BiNode
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值