先排序,再判断,其实有点类似归并排序的合并
class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end()); vector<int> nums; int i=0,j=0; while(i<nums1.size()&&j<nums2.size()){ if(nums1[i]==nums2[j]){ nums.push_back(nums1[i]); i++; j++; }else if(nums1[i]<nums2[j]){ i++; }else if(nums1[i]>nums2[j]){ j++; } } return nums; } };