给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。

注意:本题与 530:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 相同

示例 1:

输入:root = [4,2,6,1,3]
输出:1

解题思路

使用递归实现中序遍历,二叉搜索树的中序遍历的顺序就是元素从小到大的序列,而最小差值只在相邻元素中产生

代码

/*** 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 {int diff=Integer.MAX_VALUE,pre=-1;public int minDiffInBST(TreeNode root) {findMinDiffInBST(root);return diff;}public void findMinDiffInBST(TreeNode root) {if(root.left!=null) findMinDiffInBST(root.left);if(pre!=-1)diff=Math.min(diff,Math.abs(root.val-pre));pre=root.val;if(root.right!=null) findMinDiffInBST(root.right);}
}

783. 二叉搜索树节点最小距离(dfs)相关推荐

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

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

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

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

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

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

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

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

  5. leetcode —— 783. 二叉搜索树结点最小距离

    给定一个二叉搜索树的根结点 root,返回树中任意两节点的差的最小值. 解题思路:使用二叉搜索树的性质,因为题目是要寻找任意两个节点的差的最小值,因此可以通过中序遍历找到差的最小值. 其Python代 ...

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

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

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

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

  8. 【CCCC】L3-016 二叉搜索树的结构 (30分),,手动建堆(二叉搜索树节点询问),map写法

    problem L3-016 二叉搜索树的结构 (30分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右 ...

  9. C#LeetCode刷题-二叉搜索树

    二叉搜索树篇 # 题名 刷题 通过率 难度 220 存在重复元素 III 19.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 327 区间和的个数 29.5% 困难 352 将数据 ...

最新文章

  1. 最优的去重处理——HashSet去重
  2. CUDA学习3-GridBlock
  3. 36晋级12第五场:冯志刚决胜入围(节目视频)
  4. javascript函数嵌套时arguments的问题
  5. c++软件开发面试旋极面试题_经典软件开发面试题:浏览器中输入一个网址后发生了什么?...
  6. php读取zip文件,php如何读取zip内容?(zip_entry_read函数的使用)
  7. 在安全模式下激活xp
  8. Android 自定义ImageView加载图片
  9. 设计模式之原型模式(Prototype)
  10. 工作问题总结-----付款
  11. Oracle宣布JDK 6死缓:计划赶不上变化
  12. 【统计学习】细节笔记 [ 3 ] :贝叶斯角和两类错误角度理解混淆矩阵(为什么不能每个人都做核酸检测)
  13. fftshift有什么用?MATLAB做FFT后为什么还要fftshift?
  14. 利用SAP Leonardo做图片近似查找 ——Python实现
  15. 2.4g无线模块 java_ESP32 2.4G无线模块 WIFI和蓝牙双模模块
  16. UVA 12304 计算几何+圆模板
  17. MaixII-Dock(v831)学习笔记——PWM
  18. c 语言函数公有私有区分,C++私有成员函数
  19. Java小程序木叶村_恋爱球滚动的天空
  20. 「涪陵榨菜」使用区块链溯源系统?回应:看榨菜集团的安排

热门文章

  1. 【微机原理与接口技术】具体芯片(1)并行接口8255A(2):控制字概述
  2. sigaction()函数
  3. 【干货】mysql建表语句注释
  4. Linux下 安装Redis并配置服务
  5. mysql 位操作支持
  6. 软件安装(JDK+MySQL+TOMCAT)
  7. python学习:re模块
  8. 在Hadoop集群上,搭建HBase集群
  9. 文件的输入/输出操作
  10. 正能量之项目经理的自我修养