题目
https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
void dfs(struct TreeNode *root,int *pre,int *min){//深搜中序遍历
if(root==NULL) return;
dfs(root->left,pre,min);
if(*pre==-1){
*pre=root->val;
} else{
*min=fmin(*min,root->val-(*pre));
*pre=root->val;
}
dfs(root->right,pre,min);
}
int minDiffInBST(struct TreeNode* root){
int min=100005;
int pre=-1;
dfs(root,&pre,&min);
return min;
}