只需要用map来标记1,今儿通过map的值来得到重叠的部分
1 class Solution { 2 public: 3 vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { 4 map<int,int>hash; 5 vector<int>nums3; 6 for(int i=0;i<nums1.size();i++) 7 hash[nums1[i]]=1; 8 for(int i=0;i<nums2.size();i++) 9 if(hash[nums2[i]]) { 10 nums3.push_back(nums2[i]); 11 hash[nums2[i]]=0; 12 } 13 return nums3; 14 } 15 };