LeetCode--530.二叉搜索树的最小绝对差(二叉树)

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

题目描述

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

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

示例 1:

复制代码
输入:root = [4,2,6,1,3]
输出:1

示例 2:

复制代码
输入:root = [1,0,48,null,null,12,49]
输出:1

提示:

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

代码

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {

    TreeNode pre = null;

    int min = Integer.MAX_VALUE;

    public int getMinimumDifference(TreeNode root) {
        // 采用中序遍历
        if(root.left != null) getMinimumDifference(root.left);

        // 处理中间节点
        if(pre != null && root.val - pre.val < min){
            min = root.val - pre.val;
        }
        pre = root;

        // 遍历右子树
        if(root.right != null) getMinimumDifference(root.right);

        return min;
    }
}
相关推荐
June`2 小时前
warp shuffle指令
c++·人工智能·算法·cuda
geovindu2 小时前
go:Bit Operation Algorithm
开发语言·后端·算法·golang·位运算法
Wang's Blog3 小时前
AI Agent白手起家31: 根据语义相似度动态选择 Few Shot 示例
人工智能·算法
白白白小纯3 小时前
每日算法day3—回文链表,链表分割
c语言·数据结构·算法·leetcode
城管不管3 小时前
RabbitMQ死信队列
java·分布式·ai·面试·职场和发展·rabbitmq·agent
手写码匠4 小时前
华为云Flexus+DeepSeek征文|Dify 构建企业级联网搜索 Agent:查询改写、多源检索与引用溯源实战
人工智能·深度学习·算法·aigc
七夜zippoe4 小时前
DolphinDB 能耗统计分析实战:报表生成、同比环比与定额对比
人工智能·算法·dolphindb·报表生成·能耗统计·定额对比
软件测试媛4 小时前
软件测试面试问题汇总
功能测试·面试·职场和发展·压力测试
城管不管4 小时前
rabbitmq如何保证消息不丢失?解决方案又是什么?
开发语言·ai·面试·职场和发展·rabbitmq·php·agent
为啥全要学4 小时前
在大语言模型上使用 PPO 算法
人工智能·算法·语言模型