leetcode中等530二叉搜索树的最小绝对差

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等530二叉搜索树的最小绝对差相关的知识,希望对你有一定的参考价值。

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

思路一:中序遍历存入列表,列表递增,相邻值之间差最小

class Solution {
    List<Integer>list=new ArrayList<>();
    public int getMinimumDifference(TreeNode root) {
        dfs(root);
        int res=Integer.MAX_VALUE;
        for(int i=1;i<list.size();i++){
            res=Math.min(res,list.get(i)-list.get(i-1));
        }
        return res;
    }
    public void dfs(TreeNode root){
        if(root==null) return;
        dfs(root.left);
        list.add(root.val);
        dfs(root.right);
    }
}

思路二:递归中序遍历
在递归中途更新最小值

class Solution {
    int res=Integer.MAX_VALUE;
    TreeNode pre;
    public int getMinimumDifference(TreeNode root) {
        dfs(root);
        return res;
    }
    public void dfs(TreeNode root){
        if(root==null) return;
        dfs(root.left);

        if(pre!=null) res=Math.min(res,root.val-pre.val);
        pre=root;

        dfs(root.right);
    }
}

以上是关于leetcode中等530二叉搜索树的最小绝对差的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Algorithm 530. 二叉搜索树的最小绝对差

⭐算法入门⭐《二叉树 - 二叉搜索树》简单07 —— LeetCode 530. 二叉搜索树的最小绝对差

LeetCode 0530. 二叉搜索树的最小绝对差

LeetCode 0530. 二叉搜索树的最小绝对差

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

leetcode530 二叉树的最小绝对差