解题思路
求解两个数组的交集很简单,该题解是学习如何写优秀的代码。
代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> result_num;
//set的初始化,迭代器or地址初始化,如果set提前定义可以用insert初始化
unordered_set<int> nums_set(nums1.begin(),nums1.end());
for(int x:nums2){
if(nums_set.find(x)!=nums_set.end()){//set调用find函数,查找某一个值是否在set中
result_num.insert(x);
}
}
//把set转化为vector返回
return vector<int>(result_num.begin(),result_num.end());
}
};