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

Ideas

前几天一直刷链表题,这道题刚看到的时候还有点懵,第一个想到的方法竟然是全排列,脑子瓦特了。

二叉树的题目基本上都得跟(前/中/后)序遍历扯点关系,一看是没注意二叉搜索树这个信息,导致一直没想明白,还是从例子中发现这是二叉搜索树的。

二叉搜索树的中序遍历是一个升序的序列,那么所有元素的最小绝对差其实就是相邻两个元素差的最小值。

然后直接默写二叉树中序遍历模板,修改一下输出逻辑部分就OK了。

Code

C++

class Solution {public:int middle_order_traversal(TreeNode* node) {if (!node) {return 0;}int pre = -1, ans = INT_MAX;stack<TreeNode*> sta;TreeNode* item = node;while (!sta.empty() || item != nullptr) {if (item != nullptr) {sta.push(item);item = item->left;} else {item = sta.top();if (pre == -1) {pre = item->val;} else {ans = min(ans, item->val - pre);pre = item->val;}sta.pop();item = item->right;}}return ans; } int getMinimumDifference(TreeNode* root) {return middle_order_traversal(root);}
};

LeetCode Algorithm 530. 二叉搜索树的最小绝对差相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. LeetCode每日一题 530. 二叉搜索树的最小绝对差

    题目链接 思路 利用二叉树的性质遍历取相邻数字差的最小值. class Solution {public:int ret;TreeNode* left;int getMinimumDifference ...

最新文章

  1. 自然语言处理(NLP)之使用LSTM进行文本情感分析
  2. 基于空间金字塔池化的卷积神经网络物体检测
  3. Swift - 可编辑表格样例(可直接编辑单元格中内容、移动删除单元格)
  4. unity 给图片边缘_Unity Shader 屏幕后效果——边缘检测
  5. Chrome浏览器取代火狐的十大理由
  6. Spring Boot——基于AOP的HTTP操作日志解决方案
  7. docker-Consul的概述及consul集群环境的搭建
  8. mysql连接编码设置_MySQL基础 - 编码设置
  9. 博客园是否提供trackback的rss
  10. “成功”没那么有道理
  11. 【SpringMVC学习05】SpringMVC中的参数绑定总结——较乱后期准备加入 同一篇幅他人的参数绑定...
  12. shell 字符串变量比对_Linux Shell 字符串操作(长度/查找/替换)详解
  13. 金融风控实战——反欺诈特征
  14. voa android tv,VoAACEncoder
  15. Veeam BR 9.5 U3a备份报错异常处理方法
  16. 「数据架构」什么是实体关系图(ERD)?
  17. dirver时区_时区问题
  18. 华为机试真题 C++ 实现【最短木板长度】【100%通过率】【2022.11 Q4 新题】
  19. 51单片机八位数码管1到F动态滚动显示仿真及程序
  20. STM32 USB HID IAP升级

热门文章

  1. UVA 1608 Non-boring sequences(瞎搞)
  2. 13.Java为什么不支持多继承
  3. 洛谷P4630 [APIO2018] Duathlon 铁人两项 【圆方树】
  4. WebService(JAX-WS、XFire、Axis三种)获取客户端ip
  5. 一道数组求连续子集最大值的题目。
  6. DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5的解决办法
  7. cmd.exe_参数_启动参数
  8. ODP.NET 10.2.0.20发布了
  9. linux文件的打包与下载总结,linux下文件的打包和压缩
  10. 奇安信cdn配置教程_PicGo+jsDelivr+GitHub搭建免费cdn加速的图床