当前位置: 首页 > news >正文

江门住房和城乡建设部网站国家职业技能培训官网

江门住房和城乡建设部网站,国家职业技能培训官网,南昌做微信网站,wordpress 实用主题二叉搜索树的最小绝对差 链接 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&…

二叉搜索树的最小绝对差

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

差值是一个正数,其数值等于两值之差的绝对值。

示例 1:
在这里插入图片描述

输入:root = [4,2,6,1,3]
输出:1
示例 2:
在这里插入图片描述

输入:root = [1,0,48,null,null,12,49]
输出:1

提示:

树中节点的数目范围是 [2, 104]
0 <= Node.val <= 105

递归法

方法一

用中序遍历把二叉搜索树的值存在vector< int >中,成单调递增,计算差值就可以了

方法二

在递归中直接计算

  • 返回值——int(差值)
    参数——节点
void traversal(TreeNode* root)
  • 终止条件
    节点为空,差值为1(最小差值),看提示节点数最小2个不需要考虑节点为0和1的情况
        if(root==NULL || res==1) return;
  • 单次递归
    虽然题目为任意两个节点,但搜索二叉树成中序排列,差值最小出现在相邻处
    定义全局变量
    int res=INT_MAX;TreeNode* pre=NULL;

中序递归

        if(root->left)traversal(root->left);//左if(root!=NULL&& pre!=NULL) res=min(res,root->val-pre->val);//中pre=root;if(root->right)traversal(root->right);//右

中的操作有两步

  1. 计算差值,取最小值
  2. 记录上一个节点

代码

class Solution {
public:int res=INT_MAX;TreeNode* pre=NULL;void traversal(TreeNode* root){if(root==NULL || res==1) return;if(root->left)traversal(root->left);if(root!=NULL&& pre!=NULL) res=min(res,root->val-pre->val);pre=root;if(root->right)traversal(root->right);}int getMinimumDifference(TreeNode* root) {traversal(root);return res;}
};
http://www.ds6.com.cn/news/14801.html

相关文章:

  • 厦门市建设工程交易中心网站seo实战密码电子版
  • 龙华做网站联系电话2023网站seo
  • 深圳高端网站建设创新宣传推广网络推广
  • 网站建设实验分析总结网络优化师是什么工作
  • 上海公司网站公安备案查询网址关键词查询
  • 网站设计超链接怎么做网店如何做推广
  • 贵州网站建设维护今天nba新闻最新消息
  • 网站怎么修改好之后再上线企业品牌类网站有哪些
  • 深圳做网站推广公司如何提高自己的营销能力
  • 如何快速提高网站排名网站建设步骤
  • 张家界网站建设多少钱安徽网站seo
  • 网站建设与开发友情链接交换
  • 网站和小程序的区别有域名和服务器怎么建网站
  • js 网站开发网络营销的成功案例分析
  • 做类似58同城的网站网络销售怎么聊客户
  • 广州市城乡和建设局网站网络推广员一个月多少钱
  • 建网站公司百度推广退款电话
  • 设计做的网站哪些好中文域名交易平台
  • 怎样做一个网络营销seo教程
  • 直播间网站开发目前推广软件
  • 手机app ui设计seo 关键词优化
  • 做视频网站的条件soso搜搜
  • 南通网站建设找哪家好推广策略都有哪些
  • 做外包哪个网站好一些百度快照官网登录
  • 西安网站制作培训成都网站快速开发
  • dede网站下载网络营销应用方式
  • 如何做网站维护谷歌seo排名技巧
  • 常见的旅游网络营销方式衡阳百度seo
  • 正规手表回收网站2345网址导航官网下载
  • 做网站优化的公司的宣传海报百度网页版登录入口