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

示例:

输入:

   1\3/2

输出:
1

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

提示:

树中至少有 2 个节点。

解题思路:
二叉搜索树中序遍历的性质:一棵二叉搜索树的中序遍历序列是一个非递减的有序序列。

代码如下:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {public:int getMinimumDifference(TreeNode* root) {int pre = -1,ans = INT_MAX;dfs(root,pre,ans);return ans;}void dfs(TreeNode *root,int &pre,int &ans){if (root==nullptr) return ;dfs(root->left,pre,ans);if (pre==-1){pre = root->val;}else {ans = min(ans,abs(root->val-pre));pre = root->val;}dfs(root->right,pre,ans);}
};

LeetCode 530二叉搜索树的最小绝对值差-简单相关推荐

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

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

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

    给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值.示例:输入:1\3/2输出: 1解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3). ...

  3. LeetCode 530. 二叉搜索树的最小绝对差 思考分析

    目录 题目 思路1:递归遍历得到result数组(单调递增),然后对数组进行前后差分,取最小值 思路2:不用数组,进行优化 思路3.回顾迭代法求解 题目 给你一棵所有节点为非负值的二叉搜索树,请你计算 ...

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

    题目链接:力扣 思路: 中序遍历 二叉搜索树中序遍历是递增序列,要找最小绝对差,就是要找按照中序遍历,后一个数-前一个数的最小值 1.用vector数组保存中序遍历序列 class Solution ...

  5. LeetCode Algorithm 530. 二叉搜索树的最小绝对差

    530. 二叉搜索树的最小绝对差 Ideas 前几天一直刷链表题,这道题刚看到的时候还有点懵,第一个想到的方法竟然是全排列,脑子瓦特了. 二叉树的题目基本上都得跟(前/中/后)序遍历扯点关系,一看是没 ...

  6. Suzy找到实习了吗 Day 21 | 二叉树进行中:530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先

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

  7. leetcode系列-530. 二叉搜索树的最小绝对差

    题目描述:给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输 ...

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

    给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值. 示例 : 输入:1\3/2输出: 1解释: 最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3). 注 ...

  9. 怎样将树的中序遍历的数输入到一个数组中_LeetCode 530.二叉搜索树的最小绝对差

    题目 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值. 提示: + 树中至少有 2 个节点. + 本题与783相同 题目链接 示例 输入:13/2输出: 1 题目分析 ...

最新文章

  1. MATLAB_图形学_形态学课程II
  2. 【PHPExcel】设置打印格式
  3. 将 iPhone 定位设置在法国,手机速度就能迅速提升?
  4. php中绘画控制包括什么,PhpStorm中绘画UML
  5. 三种监控平台配置及其整合(cacti nagios ganglia)
  6. oracle19c 安装权限_Oracle19c 安装及SQL developer连接
  7. 2的10次方-1的python表达式_第1章 语言处理与Python
  8. android---gettag()与settag()的妙用
  9. fiddler软件抓包工具超详细配置方法
  10. 全网最全 ECMAScript 攻略
  11. 什么是视频网站CDN呢?视频网站使用了视频CDN有什么优势?
  12. 青春不散场,CSDN毕业季有奖征文开启啦~~
  13. 庆祝livid公布Bible的源代码,鼓掌~~
  14. resnet152训练_resnet152 网络结构
  15. 晶飞FLA5000光谱仪.FlaSpec格式解析批处理导出CSV文件
  16. 华为手机 鸿蒙,实力强劲的四款华为手机:均支持更新鸿蒙系统,你的在内吗?...
  17. 如何构建一个大脑---为工程师们介绍神经生理学.
  18. Navisphere 6 EMC存储管理页面无法登陆的解决办法
  19. 【参赛记录】糖尿病遗传风险预测
  20. 继电保护整定计算程序简介

热门文章

  1. VS2008打包(含水晶报表)与安装注意事项
  2. Git之如何解决sourceTree已经pull全部下来但是本地没有更新的问题
  3. 【小白必懂】C语言最大、最小公约数题解
  4. 安卓模拟器获取服务器信息出错,安卓模拟器客户端与服务器不同步
  5. linux怎样测试tty,linux – 提示自定义:如何检测何时没有tty
  6. ios 销毁当前页面重新开启_问:如何强制销毁iOS中的视图控制器?
  7. 你的女神今日结婚了!!!你失恋了......
  8. 这10个人,总是牛逼的无话可说
  9. 葛优:你们有看过我的作品吗?| 今日趣图
  10. 为了偷吃东西你能有多拼?! | 今日最佳