Leetcode 530:二叉搜索树的最小绝对差

题目描述

给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。

示例 :

输入:

   1
    \
     3
    /
   2

输出:
1

解释:
最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。

注意: 树中至少有2个节点。

解题思路

class Solution {
public:
    vector<int> vect;
    void inOrder(TreeNode* root){
        if(root == NULL) return;
        inOrder(root->left);
        vect.push_back(root->val);
        inOrder(root->right);
    }
    int getMinimumDifference(TreeNode* root) {
        inOrder(root);
        int ans = INT_MAX;
        for(int i=1;i<vect.size();i++) ans = min(ans,vect[i]-vect[i-1]);
        return ans;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_35338624/article/details/89976058
今日推荐