/
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode left, TreeNode right) : val(x), left(left), right(right) {}
* };
/
class Solution {
public:
int flag=1,ans=1000001,last;
void dfs(TreeNode root){
if(root==nullptr)return ;
dfs(root->left);
if(flag==0){
ans=min(ans,root->val-last);
}
last=root->val;
flag=0;
dfs(root->right);
}
int minDiffInBST(TreeNode* root) {
dfs(root);
return ans;
}
};