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

树_二叉搜索树小绝对差

//给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 
//
// 差值是一个正数,其数值等于两值之差的绝对值。 
//
// 
//
// 示例 1: 
// 
// 
//输入:root = [4,2,6,1,3]
//输出:1
// 
//
// 示例 2: 
// 
// 
//输入:root = [1,0,48,null,null,12,49]
//输出:1
// 
//
// 
//
// 提示: 
//
// 
// 树中节点的数目范围是 [2, 10⁴] 
// 0 <= Node.val <= 10⁵ 
// 
//
// 
//
// 注意:本题与 783 https://leetcode-cn.com/problems/minimum-distance-between-bst-
//nodes/ 相同 
//
// Related Topics 树 深度优先搜索 广度优先搜索 二叉搜索树 二叉树 👍 527 👎 0


//leetcode submit region begin(Prohibit modification and deletion)

import java.util.ArrayList;

/**
 * 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 {
    List<Integer> numList = new ArrayList<>();

    public int getMinimumDifference(TreeNode root) {
        findValue(root);
        int pre = numList.get(0);
        int intervalAbs = Integer.MAX_VALUE;
        for (int i = 1; i < numList.size(); i++) {
            int temp = Math.abs(numList.get(i) - pre);
            if(temp < intervalAbs){
                intervalAbs = temp;
            }
            pre = numList.get(i);
        }

        return intervalAbs;
    }

    private void findValue(TreeNode cur) {
        if(cur == null){
            return;
        }

        findValue(cur.left);
        numList.add(cur.val);
        findValue(cur.right);
    }
}
//leetcode submit region end(Prohibit modification and deletion)

http://www.kler.cn/a/159410.html

相关文章:

  • unity小:shaderGraph不规则涟漪、波纹效果
  • 蓝队技术学习
  • [Mysql] Mysql的多表查询----多表关系(上)
  • Mybatis配置文件的增删改查功能
  • 写给初学者的React Native 全栈开发实战班
  • Nuxt.js 应用中的 schema:beforeWrite 事件钩子详解
  • C# Demo--汉字转拼音
  • Java中常用的垃圾回收器
  • 软件工程 复习笔记
  • Vue混淆与还原
  • python处理的例子
  • jupyter notebook搭建
  • Oracle初始化参数文件pfile和spfile
  • MySQL 性能优化
  • 自定义 按钮间,按钮边框滑动。
  • 第一篇:MongoDB的安装、启动、关闭、链接shell
  • 蓝桥杯每日一题2023.12.5
  • C盘爆满,python pip无法安装应用
  • Adobe Acrobat DC 将PDF转曲步骤
  • 【Docker实操】创建一个Node服务
  • 大宽服务器:一场关于未来、关于梦想的科技革命
  • 【Flink基础】-- 延迟数据的处理
  • 大数据Doris(三十一):Doris简单查询
  • ArkUI组件--Text组件
  • Spingboot 之spring-boot-starter-parent与spring-boot-dependencies区分
  • 网页产品经理常用的ChatGPT通用提示词模板