利用二叉搜索树中序遍历的递增特性,只需要判断相邻节点的最小差值
class Solution {
public:
int result = INT_MAX;
TreeNode* pre;
int getMinimumDifference(TreeNode* root) {
traverse(root);
return result;
}
void traverse(TreeNode* root){
if(root==nullptr) return;
traverse(root->left);
if(pre)
result = min(result,root->val-pre->val);
pre = root;
traverse(root->right);
return;
}
};