注意题目是二叉搜索树,其中序遍历会有序遍历二叉搜索树的节点,在计算过程中计算最小绝对值差即可。
class Solution {
public int getMinimumDifference(TreeNode root) {
traverse(root);
return res;
}
TreeNode prev = null;
int res = Integer.MAX_VALUE; // 用来更新每个节点之间的绝对值差值
void traverse(TreeNode root){
if(root == null){
return;
}
traverse(root.left);
if(prev != null){
res = Math.min(res, root.val - prev.val);
}
prev = root;
traverse(root.right);
}
}