zoukankan      html  css  js  c++  java
  • 【力扣】530. 二叉搜索树的最小绝对差

    给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。

    示例:

    输入:

    1

    3
    /
    2

    输出:
    1

    解释:
    最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        int minVal = Integer.MAX_VALUE;
        int preVal = -1;
    
        //中序遍历:左子节点、根节点、右子节点
        //根据二叉搜索树的特性为:左子节点小于根节点、根节点小于右子节点
    
        public int getMinimumDifference(TreeNode root) {
            dfs(root);
            return minVal;
        }
    
        public void dfs(TreeNode root){
            if(root == null){
                return ;
            }
            if(minVal == 0){
                return;
            }
            
            dfs(root.left);
    
            if(preVal == -1){
                preVal = root.val;
            } else {
                minVal = Math.min(minVal, Math.abs(root.val - preVal));
                preVal = root.val;
            }
            dfs(root.right);
        }
    }
    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    6.Ray-消息订阅器编写
    附录:2-Event Sourcing pattern (事件溯源设计模式)
    附录:1-Grain生命周期-译注
    4.Ray-Handler之CoreHandler编写
    Q&A-20180128
    TODO
    3.Ray-Event编写
    缓存技术内部交流_01_Ehcache3简介
    Spring AMQP 源码分析 04
    Spring AMQP 源码分析 03
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/13801536.html
Copyright © 2011-2022 走看看