349. 两个数组的交集
C++:
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
//先将两个数组放入set中,去重并且排序。
set<int> set1(nums1.begin(),nums1.end());
set<int> set2(nums2.begin(),nums2.end());
vector<int> ret;
//取起始位置
auto it1 = set1.begin();
auto it2 = set2.begin();
while(it1!=set1.end()&&it2!=set2.end())
{
if(*it1<*it2)
{
it1++;
}
else if(*it1>*it2)
{
it2++;
}
else
{
ret.push_back(*it1);
it1++;
it2++;
}
}
return ret;
}
};
注意if else语句使用。