给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
差值是一个正数,其数值等于两值之差的绝对值。
示例 1:
输入:root = [4,2,6,1,3]
输出:1
class Solution {
public:
int res=INT_MAX;
TreeNode* pre=nullptr;
int getMinimumDifference(TreeNode* root)
{
traverse(root);
return res;
}
void traverse(TreeNode* root)
{
if(root==nullptr)
return ;
traverse(root->left);
if(pre!=nullptr)//pre指向root结点的前一个结点
{
res=min(res,root->val-pre->val);
//中序遍历二叉搜索树,得到有序数组,求得相邻两节点之间的最小差
}
pre=root;
traverse(root->right);
}
};


