1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { int length1 = nums1.size(); int length2 = nums2.size(); sort(nums1.begin(), nums1.end()); sort(nums2.begin(), nums2.end()); int i = 0, j = 0; vector<int> ret; while(i < length1 && j < length2) { if(nums1[i] == nums2[j]) { if(ret.empty() || nums1[i] != ret.back()) ret.push_back(nums1[i]); ++i; ++j; }else if(nums1[i] < nums2[j]) ++i; else ++j; } return ret; } };
|