1. 题目

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

示例:输入: root = [4,2,6,1,3,null,null]
输出: 1
解释:
注意,root是树结点对象(TreeNode object),而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图:4/   \2      6/ \    1   3  最小的差值是 1, 它是节点1和节点2的差值, 也是节点3和节点2的差值。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 循环中序遍历 解题

  • 二叉搜索树中序遍历非降,相邻的做差比较,记录最小的差
class Solution {public:int minDiffInBST(TreeNode* root) {int dis = INT_MAX, val, preval, i = 0;stack<TreeNode*> stk;while(root || !stk.empty()){while(root){stk.push(root);root = root->left;}++i;val = stk.top()->val;if(i != 1 && val-preval < dis)dis = val-preval;preval = val;root = stk.top()->right;stk.pop();}return dis;}
};

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

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

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

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

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

  3. LeetCode 173. 二叉搜索树迭代器(中序遍历)

    文章目录 1. 题目信息 2. 二叉树中序遍历 1. 题目信息 实现一个二叉搜索树迭代器.你将使用二叉搜索树的根节点初始化迭代器. 调用 next() 将返回二叉搜索树中的下一个最小的数. 示例: B ...

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

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

  5. 剑指offer面试题36. 二叉搜索树与双向链表(中序遍历)(递归)

    题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 思路 详见链接 代码 #class Node: # def __ini ...

  6. LeetCode 98验证二叉搜素树(中序遍历)99恢复二叉搜索树

    微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 92反转链表Ⅱ&93复制ip地址&94 ...

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

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

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

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

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

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

最新文章

  1. 悬浮按钮app_分享一款网页转App的神器,绝对值得一用
  2. Node的异步与java的异步_node中异步IO的理解
  3. 医院六级电子病历建设思路及要点
  4. IDC运营商如何轻松建立属于自己的数据备份服务中心
  5. linux下redmine3.3迁移、升级、插件备忘录
  6. C语言中的extern关键字用法
  7. 大学计算机网络技术考试题,2017年大学生计算机考试的试题
  8. Python中float(‘inf‘)代表什么意思?
  9. P2805-[NOI2009]植物大战僵尸【网络流,最大权闭合图】
  10. catalog英文翻译_“目录”的英文翻译是“catalogquot;还是quot;contentsquot;
  11. 基础知识(三)makefile文件编写初级篇
  12. Blazor Modal对话框编辑器
  13. MessageBox.Show常用的2个方法
  14. Julia: Flux.jl尝试
  15. 如何在Mac上使用屏幕共享
  16. android词根词缀,词根词缀记忆字典 - 好担心你们因为它的界面丑,而错过这款背单词神器 - Android 应用 - 【最美应用】...
  17. win32-x64-64\binding.node is not a valid Win32 application
  18. fast无线路由器设置服务器,Fast迅捷无线路由器怎么设置 Fast迅捷无线路由器设置方法【详细步骤】...
  19. origin导出图片时出现input graph is invalid
  20. 关闭Windows Defender实时保护,暂时关闭和永久关闭方法

热门文章

  1. 能设值多个rowkey吗_顶楼送了露台,悄悄搭建阳光房,偏偏我家露台多个帽子,能拆吗?...
  2. segmenter.go
  3. word-break|overflow-wrap|word-wrap——CSS英文断句浅析
  4. Oracle 游标使用全解(摘抄)
  5. jquery中怎么删除ul中的整个li包括节点
  6. 【学习笔记】【C语言】类型说明符
  7. [转]关于WM_NCHITTEST消息
  8. C语言 二维数组做函数参数的几种情况
  9. 简单实用的铁道部12306.cn网站自动化登录
  10. 2009岁末之复用系统框架(B/S)