zoukankan      html  css  js  c++  java
  • 530_二叉搜索树的最小绝对差

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

    package 二叉树.二叉搜索树;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/
     * 
     * @author Huangyujun
     *树中至少有 2 个节点
     */
    public class _530_二叉搜索树的最小绝对差 {
    
    //中序遍历    (二叉搜索树的中序遍历是递增的,最小绝对值,只需要用前一个值-后二个值得出)
    //从第二个结点开始,每次进入一个新的结点,都要不断的更新最小距离
        int prev;
        int ans;
        public int getMinimumDifference(TreeNode root) {
            prev = -1;
            ans = Integer.MAX_VALUE;
            inorder(root);
            return ans;
        }
        //通过拿到前一个的val ,第二个val 减掉即可得知最小的
        public void inorder(TreeNode node) {
            if(node == null)    return;
            inorder(node.left);
            //拿到当前结点,需要判断一下是否遍历到第二个结点了
            if(prev == - 1) {    //才遍历到当前第一个结点
                prev = node.val;
            }else {
                ans = Math.min(ans, node.val - prev);
                prev = node.val;
            }
            inorder(node.right);
            
        }
    
        
    }

    本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15709283.html

  • 相关阅读:
    STM32的低功耗模式
    C语言的面向对象技术
    SDIO学习
    读十倍效率开发者有感
    三极管
    压敏电阻
    freertos之任务
    tsar采集数据原理
    NTP学习路线
    使用awk提取字符串中的数字或字母
  • 原文地址:https://www.cnblogs.com/shan333/p/15709283.html
Copyright © 2011-2022 走看看