leetcode【 530 二叉搜索树的最小绝对差】

在这里插入图片描述

void dfs(struct TreeNode* root, int* pre, int* ans) {
    
    
    if (root == NULL) {
    
    
        return;
    }
    dfs(root->left, pre, ans);
    if (*pre == -1) {
    
    
        *pre = root->val;
    } else {
    
    
        *ans = fmin(*ans, root->val - (*pre));
        *pre = root->val;
    }
    dfs(root->right, pre, ans);
}

int getMinimumDifference(struct TreeNode* root) {
    
    
    int ans = INT_MAX, pre = -1;
    dfs(root, &pre, &ans);
    return ans;
}

猜你喜欢

转载自blog.csdn.net/qq_45657288/article/details/109063053