Minimum Absolute Difference in BST

    xiaoxiao2021-03-30  42

    题目:https://leetcode.com/submissions/detail/99935635/

    思路:将BST中序遍历,得到中序遍历的数组,然后比较相邻值的差,找到最小差。

    int getMinimumDifference(TreeNode* root) { vector<int> result; inorderTraversal(root,result); int differ = INT_MAX; for(vector<int>::iterator it=result.begin()+1; it<=result.end(); ++it) { int tmp = abs(*it - *(it-1)); if(tmp < differ) { differ = tmp; } } if(differ == INT_MAX) { differ = 0; } return differ; } void inorderTraversal(TreeNode* root, vector<int>& res) { if(!root)return; inorderTraversal(root->left,res); res.push_back(root->val); inorderTraversal(root->right,res); }
    转载请注明原文地址: https://ju.6miu.com/read-665223.html

    最新回复(0)