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;
    }
}
相关推荐
AI备案指南-满满5 小时前
人工智能拟人化互动服务安全自评估报告的评估要点有哪些?
人工智能·算法·安全·机器人·大模型备案·算法备案
土司大王6 小时前
LeetCode hot100——两两交换链表中的节点
算法·leetcode·职场和发展
大熊背8 小时前
树莓派IspPipeline LSC模块原理详解
算法·lsc·isppipeline·mesh lsc
测试19988 小时前
Selenium 无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
zander2588 小时前
LeetCode 300. 最长递增子序列
算法·leetcode·深度优先
欧叶冲冲冲8 小时前
Python常见数据结构的CRUD(LeetCode高频版速查)
数据结构·python·leetcode
祖力559 小时前
Linux应用软件编程:目录IO与framebuffer
linux·运维·算法·framebuffer·目录io
名字还没想好☜9 小时前
Go 用 slices/maps 标准库泛型函数:告别手写 Contains、Sort、去重(Go 1.21)
开发语言·后端·算法·golang·go
地平线开发者9 小时前
【模型轻量化专题】深度学习模型为什么需要轻量化
算法
圣保罗的大教堂9 小时前
leetcode 3622. 判断整除性 简单
leetcode