给你一个二叉搜索树的根节点 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); } };