【每日一算法】二叉搜索树结点最小距离
微信改版,加星标不迷路!
每日一算法-二叉搜索树节点最小距离
作者:阿广
阅读目录
1 题目
2 解析
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的差值。
注意:
? 二叉树的大小范围在 2
到 100
。
? 二叉树总是有效的,每个节点的值都是整数,且不重复。
2 解析
本题属于简单题,整体的思路为将二叉树的所有节点使用中序遍历的方法,将其全部节点依次加入到vector res变量中(此时res中为从小到大的排序),然后使用vector m变量依次接受res[i]-res[i-1];最后对m进行从小到大排序,返回m[0]即可;
2.1
将二叉树的所有节点使用中序遍历的方法,将其全部节点依次加入到vector res变量中(此时res中为从小到大的排序)
void pre(vector<int>& res,TreeNode* root){ if(root!=NULL){ pre(res,root->left); res.push_back(root->val); pre(res,root->right); } }
2.2
然后使用vector m变量依次接受res[i]-res[i-1];
vector<int> m;for(int i = 1; i < res.size() ; i++){ m.push_back(res[i]-res[i-1]);}
2.3
最后对m进行从小到大排序,返回m[0]即可;
int si = m.size();sort(m.begin(),m.end());return m[0];
2.4
完整代码
/** * 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:
void pre(vector<int>& res,TreeNode* root){ if(root!=NULL){ pre(res,root->left); res.push_back(root->val); pre(res,root->right); } } int minDiffInBST(TreeNode* root) { vector<int> res; pre(res,root); vector<int> m; for(int i = 1; i < res.size() ; i++){ m.push_back(res[i]-res[i-1]); } int si = m.size(); sort(m.begin(),m.end()); return m[0]; }};
今日问题
你会选择读博士吗?
准备从事教学科研工作还是去企业工作?
为什么?
打卡格式:打卡第n天,答:...
为什么打卡?戳下面你就知道了!
猛
戳
这
儿
21/天/养/一/个/好/习/惯
【每日一算法】二叉搜索树结点最小距离相关推荐
- LeetCode 783. 二叉搜索树结点最小距离(中序遍历)
1. 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例:输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点 ...
- leetcode —— 783. 二叉搜索树结点最小距离
给定一个二叉搜索树的根结点 root,返回树中任意两节点的差的最小值. 解题思路:使用二叉搜索树的性质,因为题目是要寻找任意两个节点的差的最小值,因此可以通过中序遍历找到差的最小值. 其Python代 ...
- leetcode - 783. 二叉搜索树结点最小距离
给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例: 注意: 二叉树的大小范围在 2 到 100. 二叉树总是有效的,每个节点的值都是整数,且不重复. ------ 解题思 ...
- LeetCode(783)——二叉搜索树结点最小距离(JavaScript)
给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例1: 输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点对象(T ...
- 数据结构与算法:二叉搜索树
✨数据结构与算法:二叉搜索树
- 高级数据结构与算法 | 二叉搜索树(Binary Search Tree)
文章目录 二叉搜索树的概念 二叉搜索树的作用 排序 查找 实现思路 查找 插入 删除 删除.拷贝等 代码实现 K模型 KV模型 二叉搜索树的概念 二叉搜索树又叫做二叉排序树,他是一个具有以下特性的二叉 ...
- 783. 二叉搜索树节点最小距离
题目 方法一 转数组 题目给出的数据是放在二叉搜索树中.二叉搜索树的中序遍历的结果是从小到大排列的. 用中序遍历二叉搜索树,得到从小到大排好序的数组 比较排序好的素组两两间的差值 class Solu ...
- LeetCode 783二叉搜索树节点最小距离-简单
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例 1: 输入:root = [4,2,6,1,3] 输出:1 示例 2: 输入:root = [1,0,48, ...
- 783. 二叉搜索树节点最小距离(dfs)
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 注意:本题与 530:https://leetcode-cn.com/problems/minimum-absol ...
最新文章
- 意念控制成现实:不开口,不动手,“瘫着”就能打游戏
- php session redis 配置
- 第一次搭建阿里云服务器
- 微软相关的开发资源列表(update)
- .NET Core 在中国的现状调研
- 原生类型的autoboxing和auto-unboxing
- php识别地址,实现地址自动识别实例(PHP)
- 计算机的发展英语600词,程序员必备的600个英语词汇
- OpenCV-python学习笔记(三)——histograms直方图
- 学创杯创业模拟大赛攻略_蝉联冠军!哈尔滨理工大学连续两届获得“学创杯”一等奖...
- 如何判断cin输入结束~
- anaconda装完没反应
- linkedin android,如何在android中登录linkedin?
- 富士施乐Fuji Xerox DocuCentre-III C6500 驱动
- 远程服务器网刻系统,网刻-wu123119-ChinaUnix博客
- ODAC for delphi 安装
- 【k8s】kubernetes编写自己的operator(operator-sdk:v1.xxx)
- 5-6 uniapp 图片压缩
- html输入密码访问指定页面,三种方法使HTML单页面输入密码才能访问
- 创业起步阶段需要注意的几点
热门文章
- 年收入百万美元AI科学家的烦恼与思考
- 暴雨之后,评估与重建可以用这个数据集
- 看完 50000 张专辑封面,AI 设计师开始疯狂输出
- 如何提高模型性能?这四大方法值得尝试 | CSDN 博文精选
- 管理7k+工作流,月运行超10000万次,Lyft开源的Flyte平台意味着什么?
- PyTorch实现L2和L1正则化的方法 | CSDN博文精选
- 30+博士、100+硕士整理的超全深度强化学习资源清单
- 深度学习在人脸检测中的应用 | CSDN 博文精选
- 快速构建深度学习图像数据集,微软Bing和Google哪个更好用?
- 谁是AI行业最受关注的人?未来图灵发布《AI明星企业家热搜榜》