二叉搜索树的最小绝对差

二叉搜索树的最小绝对差
二叉排序树 + 寻找最小差值
思路:
按照顺序: 中序遍历 即为由大到小
看最小差值: 最小差值初始化为 Integer.MAX_VALUE 依次与相邻大小的数的差值比较 直到找到最小差值
布局: 最小差值和上一个节点的值定义为全局变量
代码:

	int min=Integer.MAX_VALUE;
    int left=Integer.MAX_VALUE;
    public int getMinimumDifference(TreeNode root) {
        //因为与排序相关 故先写中序遍历
        if (root.left!=null){//左节点不为空 就访问左节点
            getMinimumDifference(root.left);
        }
        //当左节点都为空 或者左子树遍历完成以后 进行本节点的比较
        if(Math.abs(root.val-left)<min){
            min=Math.abs(root.val-left);
        }
        left=root.val;
        if (root.right!=null){//右节点不为空 就访问右节点
            getMinimumDifference(root.right);
        }
        //当遍历完成后
        return min;
    }

你可能感兴趣的:(力扣刷题真爽,java,算法,数据结构)