【easy】530. Minimum Absolute Difference in BST

找BST树中节点之间的最小差值。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
//BST树中序遍历就是递增的序列,相邻两个数的差值,找最小
class Solution {
public:
    int min_res = INT_MAX;
    TreeNode* pre;
    
    int getMinimumDifference(TreeNode* root) {
        helper(root);
        return min_res;
    }
    
    void helper(TreeNode*root){
        if (!root)
            return;
        helper(root->left);  //1
        
        if (pre)
            min_res = min(min_res, abs(root->val - pre->val));
        pre = root;
        
        helper(root->right);  //2
    }
};

 

posted @ 2018-02-12 16:33  Sherry_Yang  阅读(98)  评论(0编辑  收藏  举报