530. 二叉搜索树的最小绝对差 ☆
难度简单192
给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。
示例:
输入: 1 \ 3 / 2 输出: 1
//因为中序遍历是有序的,我们只需要在中序遍历的过程中 记录上一个节点
//然后当前root节点进行比较 求出最小值就可以
//时间复杂度O(N)
TreeNode tmp = null;
private int min = Integer.MAX_VALUE;
public int getMinimumDifference(TreeNode root) {
recur(root);
return min;
}
private void recur (TreeNode root) {
if ( root == null ) return;
recur(root.left);
if (tmp != null)
min = Math.min(min,root.val - tmp.val);
tmp = root;
recur(root.right);
}