解题思路

  • 首先将其中一个数组进行排序
  • 然后将排序后的元素逐个插入到临时vector数组中,插入的时候还要查看与相邻元素的值是否相等,相等的话就不插入了。
  • 这样得到的临时vector数组就是排序好的无重复数字的数组,然后逐个与另一个数组进行比较,如果是相等的,那么将这个数取出来。

具体代码如下:

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        vector<int> res,nums3;  //res为保存结果的数组,nums3为临时排序数组
        sort(nums1.begin(),nums1.end());
        for(int i=0;i<nums1.size();i++){
            nums3.push_back(nums1[i]);
            if(nums1[i]==nums1[i+1]){
                nums3.pop_back();
            }
        }
        for(int i=0;i<nums3.size();i++){
            for(int j=0;j<nums2.size();j++){
                if(nums3[i]==nums2[j]){
                    res.push_back(nums3[i]);
                    break;
                }
            }
        }
        return res;
    }
};