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

    //利用二叉搜索树中序遍历得到一个升序序列,可衍生出多种问题,注意举一反三
    //1.此题计算任意俩节点的最小差值,根据二叉搜索树的性质,这俩个节点一定是相邻节点,父子关系
    //2.定义一个存放最小值得变量,用于返回结果
    //3.根据中序遍历的过程,定义一个变量存放上一次遍历的节点,用于和本次遍历的节点相比较
    class Solution {
        int minDiff = Integer.MAX_VALUE;
        TreeNode preNode = null;
        public int getMinimumDifference(TreeNode root) {
            inOrderTree(root);
            return minDiff;
        }
        //在中序遍历的过程中,顺便比较
        private void inOrderTree(TreeNode node){
            if(node == null) return;
            inOrderTree(node.left);
            //prenode 不能为不存在的节点,因为是比较差值,这一步我疏忽了,报了NullPointerException异常
            if(preNode != null)
            minDiff = Math.min(minDiff,node.val - preNode.val);
            //注意比较的顺序, 左、中 和 中、右
            preNode = node;
            inOrderTree(node.right);
        }
    }
  • 相关阅读:
    vue 跨域访问http
    vue 生命周期小结
    koa的教程
    spoj104 HIGH
    loj2026 「JLOI / SHOI2016」成绩比较
    loj2024「JLOI / SHOI2016」侦查守卫
    loj2016 「SCOI2016」美味
    loj2014 「SCOI2016」萌萌哒
    loj2013 「SCOI2016」幸运数字
    loj2012 「SCOI2016」背单词
  • 原文地址:https://www.cnblogs.com/peanut-zh/p/13888644.html
Copyright © 2011-2022 走看看