给你一个二叉搜索树的根节点 root
,返回树中任意两不同节点值之间的最小差值。(差值是一个正数,其数值等于两值之差的绝对值。)
方法:中序遍历 + 记录前一个节点prev
class Solution {
int res = Integer.MAX_VALUE;
TreeNode prev = null;
public int getMinimumDifference(TreeNode root) {
if(root == null) return res;
getMinimumDifference(root.left);
if(prev != null && Math.abs(prev.val - root.val) < res) {
res = Math.abs(prev.val - root.val);
}
prev = root; //记录前一个节点
return getMinimumDifference(root.right);
}
}
网友评论