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

[leetcode hot 150]第五百三十题,二叉搜索树的最小绝对差

题目:

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

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

解析:

  1. minDiffInBST 方法是主要方法。
  2. 创建一个 ArrayList 来存储树的节点值。
  3. inorderTraversal 方法进行中序遍历,将节点值添加到列表中。
  4. 在得到有序列表后,遍历列表,计算相邻元素的差值。
  5. 使用 Math.min 来持续更新最小差值。
  6. 最后,返回找到的最小差值。
import java.util.ArrayList;
import java.util.List;public class no_530 {public static void main(String[] args) {TreeNode root = new TreeNode(4);root.left = new TreeNode(2);root.right = new TreeNode(6);root.left.left = new TreeNode(1);root.left.right = new TreeNode(3);System.out.println(getMinimumDifference(root));}public static int getMinimumDifference(TreeNode root) {List<Integer> values = new ArrayList<>();inorderTraversal(root, values);int minDiff = Integer.MAX_VALUE;for (int i = 1; i < values.size(); i++) {minDiff = Math.min(minDiff, values.get(i) - values.get(i - 1));}return minDiff;}public static void inorderTraversal(TreeNode node, List<Integer> values) {if (node == null) return;inorderTraversal(node.left, values);values.add(node.val);inorderTraversal(node.right, values);}
}

 

http://www.lryc.cn/news/387359.html

相关文章:

  • 【Docker】可视化平台Portainer
  • MySQL高级-MVCC-原理分析(RR级别)
  • 压力测试Monkey命令参数和报告分析
  • C# Benchmark
  • 算法金 | 协方差、方差、标准差、协方差矩阵
  • FastAPI教程II
  • Facebook的投流技巧有哪些?
  • Spring Boot 中的微服务监控与管理
  • 【计算机网络】期末复习(1)模拟卷
  • 【软件工程中的演化模型及其优缺点】
  • Oracle 数据库详解:概念、结构、使用场景与常用命令
  • FreeRTOS的裁剪与移植
  • 能求一个数字的字符数量的程序
  • PTA-线性表实验(JAVA)
  • LeetCode:494. 目标和
  • HarmonyOS Next开发学习手册——选项卡 (Tabs)
  • LeetCode2710.移除字符串中的尾随零
  • PPT录屏怎么录?PPT录屏,3种方法简单操作
  • HarmonyOS开发:应用完整性校验
  • 【MySQL基础篇】SQL指令:DQL及DCL
  • [C++][设计模式][适配器模式]详细讲解
  • 8080时序驱动TFT显示屏 驱动IC GC9307
  • K8S 集群节点缩容
  • Web-HTML-事件
  • Installed Build Tools revision xxx is corrupted. Remove and install again 解决
  • AI 与 Python 实战干货:基于深度学习的图像识别
  • 万字长文详解数据结构:树 | 第6章 | Java版大话数据结构 | 二叉树 | 哈夫曼树 | 二叉树遍历 | 构造二叉树 | LeetCode练习
  • NPOI入门指南:轻松操作Excel文件的.NET库
  • 【高性能服务器】服务器概述
  • 003 SSM框架整合