千家信息网

leetCode如何计算二叉搜索树的最小绝对差

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关leetCode如何计算二叉搜索树的最小绝对差,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一,二叉搜索树的最小绝对差1,问题简述给你一
千家信息网最后更新 2025年12月02日leetCode如何计算二叉搜索树的最小绝对差

这篇文章将为大家详细讲解有关leetCode如何计算二叉搜索树的最小绝对差,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一,二叉搜索树的最小绝对差

1,问题简述

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

2,示例描述

示例:

输入:

1
\
3
/
2

输出:
1

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


3,题解思路

基于中序遍历获取树节点数据,进行求解

4,题解程序


import java.util.ArrayList;
import java.util.List;

public class GetMinimumDifferenceTest {
public static void main(String[] args) {
TreeNode t1=new TreeNode(1);
TreeNode t2=new TreeNode(3);
TreeNode t3=new TreeNode(2);
t1.right=t2;
t2.left=t3;
int minimumDifference = getMinimumDifference(t1);
System.out.println("minimumDifference = " + minimumDifference);

}

public static int getMinimumDifference(TreeNode root) {
List list = new ArrayList<>();
if (root == null) {
return -1;
}
dfs(root, list);
System.out.println("list = " + list);
int[] toArray = list.stream().mapToInt(x -> x).toArray();
int pre = toArray[0];
int res = Integer.MAX_VALUE;
for (int i = 1; i < toArray.length; i++) {
res = Math.min(res, toArray[i] - pre);
pre = toArray[i];
}
return res;
}

private static void dfs(TreeNode root, List list) {
if (root == null) {
return;
}
if (root.left != null) {
dfs(root.left, list);
}
list.add(root.val);
if (root.right != null) {
dfs(root.right, list);
}
}
}

关于"leetCode如何计算二叉搜索树的最小绝对差"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

最小 搜索 篇文章 更多 示例 绝对值 节点 题解 不错 实用 内容 思路 数据 文章 知识 程序 负值 问题 参考 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全警示语20字 忘川风华录怎么跨服务器加好友 华为网络安全实验在哪里做 安卓下用什么数据库 软件工程金融软件开发是什么 注册网络安全行业协会流程 二之国有哪些服务器 数据库安全性新技术论文 专业卸载网站及数据库 武汉百锂网络技术有限公司 用什么函数对比重复数据库 网络安全主题会会后心得500字 企业投标数据库如何建立 吴忠市第八届网络安全 爬他人数据库违法吗 计算网络技术专升本考哪些科目 光伏电站网络安全防护方案 基于sdn的软件开发 神威服务器 金融科技是不是属于互联网 饥荒服务器一直连接 为什么选择软件开发这个职业 宽带维修安装数据库表 关于小学网络安全交通安全简报 广州优投网络技术服务有限公司 武鸣县软件开发 做软件开发用英文怎么说 服务器阵列卡用于pc 面试对软件开发岗位理解 贵阳贵安网络安全工作培训
0