530. Minimum Absolute Difference in BST

Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.
Example:

Input:

   1
    
     3
    /
   2

Output:
1

Explanation:
The minimum absolute difference is 1, which is the difference between 2 and 1 (or between 2 and 3).

题目要求找到二叉搜索树中,节点之间最小的差值。我们知道二叉搜索树的中序遍历为有序的,最小的差值就出现在相邻元素之间的差值。

class Solution {
    int min = Integer.MAX_VALUE;
    Integer prev = null; //记录前一个节点,可以定义为TreeNode
    public int getMinimumDifference(TreeNode root) {
        if(root == null) return min;
        getMinimumDifference(root.left);
        if(prev != null)
            min = Math.min(min,root.val - prev);
        prev = root.val;
        getMinimumDifference(root.right);
        return min;
    }
}
原文地址:https://www.cnblogs.com/wxshi/p/7625359.html