给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。
二叉搜索树中序遍历
中序遍历得到的是一个递增序列 则最小差值一定出现在遍历时的相邻节点 边遍历边记录最小值
class Solution {
int ans = Integer.MAX_VALUE;
int pre = -1;
public int minDiffInBST(TreeNode root) {
dfs(root);
return ans;
}
public void dfs(TreeNode root){
if(root == null)
return;
dfs(root.left);
if(pre == -1)
pre = root.val;
else{
ans = Math.min(ans, root.val - pre);
pre = root.val;
}
dfs(root.right);
}
}```