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开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    JVM基础和调优(一)
    Jtree(节点的渲染+资源管理器)(2)
    Jtree (节点的渲染+资源管理器)
    jtree(选择框)
    java进阶计划
    SQL优化
    spring 事务管理
    Spring事务配置的五种方式(转)
    spring与数据库之间的配置
    struct2(六) 为表单添加验证
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/13801536.html
Copyright © 2011-2022 走看看