给定一个二叉搜索树的根结点 root,返回树中任意两节点的差的最小值。

解题思路:使用二叉搜索树的性质,因为题目是要寻找任意两个节点的差的最小值,因此可以通过中序遍历找到差的最小值。

其Python代码如下:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = Noneclass Solution:def __init__(self):self.min_num = float("inf")  # 用于保存当前的最小差值self.num = -100  # 用于保存中序遍历的上一个节点值def minDiffInBST(self, root: TreeNode) -> int:if root.left:self.minDiffInBST(root.left)  # 递归self.min_num = min(self.min_num,root.val-self.num)  # 最小值进行更新self.num = root.val  # 当前值的上一个值进行更新if root.right:  # 递归self.minDiffInBST(root.right)return self.min_num

leetcode —— 783. 二叉搜索树结点最小距离相关推荐

  1. LeetCode 783. 二叉搜索树结点最小距离(中序遍历)

    1. 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例:输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点 ...

  2. leetcode - 783. 二叉搜索树结点最小距离

    给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例: 注意: 二叉树的大小范围在 2 到 100. 二叉树总是有效的,每个节点的值都是整数,且不重复. ------ 解题思 ...

  3. LeetCode 783二叉搜索树节点最小距离-简单

    给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例 1: 输入:root = [4,2,6,1,3] 输出:1 示例 2: 输入:root = [1,0,48, ...

  4. 【每日一算法】二叉搜索树结点最小距离

    微信改版,加星标不迷路! 每日一算法-二叉搜索树节点最小距离 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例: 输入 ...

  5. LeetCode(783)——二叉搜索树结点最小距离(JavaScript)

    给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例1: 输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点对象(T ...

  6. 783. 二叉搜索树节点最小距离

    题目 方法一 转数组 题目给出的数据是放在二叉搜索树中.二叉搜索树的中序遍历的结果是从小到大排列的. 用中序遍历二叉搜索树,得到从小到大排好序的数组 比较排序好的素组两两间的差值 class Solu ...

  7. 783. 二叉搜索树节点最小距离(dfs)

    给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 注意:本题与 530:https://leetcode-cn.com/problems/minimum-absol ...

  8. leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)

    题目 原题地址:leetcode 235. 二叉搜索树的最近公共祖先 说明: 所有节点的值都是唯一的. p.q 为不同节点且均存在于给定的二叉搜索树中. 题解 关于 树形dp 套路,可以参考我的另一篇 ...

  9. leetcode 530. 二叉搜索树的最小绝对差(Java版)

    题目 https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 题解 中序遍历法. 本题要求二叉搜索树任意两节点差的绝对 ...

最新文章

  1. jenkins 添加 证书凭证Credentials
  2. 中石油训练赛 - sciorz画画(区间dp)
  3. Java条件查询分页——总结
  4. Android—RxJava库知识
  5. ssm使用全注解实现增删改查案例——mybatis-config.xml
  6. 什么是跨域?跨域如何解决
  7. group by 的实现原理
  8. ZOJ-3704 I am Nexus Master! 模拟
  9. Java多线程学习十二: synchronized的工作原理 以及背后的“monitor 锁”
  10. php word 图片无法显示,Word文档不显示图片解决方法
  11. laravel完全安装手册
  12. android tracert命令详解,Tracert命令详解
  13. 五种常用的3D建模方式,各有什么优缺点?
  14. Linux如何自定义屏幕分辨率,Linux手动设置屏幕分辨率的办法
  15. Pytorch错误:RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 1. Got 6
  16. RAW 图像格式转换工具 bayer2rgb
  17. 手脱ASPack2.12壳(练习)
  18. 20、斐⽒数列是公元13世纪数学家斐波拉契发明的。即: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ……, 输出其前15项。
  19. 风水大师 or 企业医生?张明明谈数据分析师的职业之路
  20. IDEA 文件夹颜色对目录的影响分析

热门文章

  1. asp之ajax技术:responstext中文乱码
  2. 十分钟教会你原生JS压缩图片,极其精简版
  3. Nginx stream模块初探
  4. 容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源
  5. 容器编排技术 -- Kubernetes 为 Namespace 配置默认的内存请求与限额
  6. 移动端禁止页面缩放问题
  7. 根据用户查进程_Linux中的系统进程管理
  8. 行为模式之备忘录模式
  9. git配置远程仓库,同时配置github、gitee、gitlab,完美解决方案
  10. 【C语言】复合函数求值