刷刷刷 Day 21 | 530. 二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差

LeetCode题目要求

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

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

图

示例

输入:root = [4,2,6,1,3]
输出:1
解题思路

根据二叉搜索树的特性,最小差相当于在排序数组中找最小差值,那么可通过中序遍历

上代码

class Solution {
private int min = Integer.MAX_VALUE;
private TreeNode pre;
public int getMinimumDifference(TreeNode root) {
// 由于是搜索二叉树,那么最小差一定是在 相当于在排序数组中找最小差值,那么可通过中序遍历
if (root == null) {
return 0;
}
// 中序遍历 左中右
inorder(root);
return min;
}
public void inorder(TreeNode node) {
if (node == null) {
return;
}
// 左
inorder(node.left);
// 中
if (pre != null) {
min = Math.min(node.val - pre.val, min);
}
pre = node;
// 右
inorder(node.right);
}
}

附:学习资料链接

posted @   blacksonny  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示