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