利用迭代器!
#include <vector>
#include <map>
class Solution {
public:
std::vector<int> intersection(std::vector<int>& nums1, std::vector<int>& nums2) {
std::map<int, int> Mymap;
std::vector<int> qq;
// 标记 nums1 中的元素
for (int num : nums1) {
Mymap[num] = 2;
}
// 找出同时在 nums1 和 nums2 中的元素,并标记为 1
for (int num : nums2) {
if (Mymap[num] == 2) {
Mymap[num] = 1;
}
}
// 收集交集结果
for (auto& pair : Mymap) {
if (pair.second == 1) {
qq.push_back(pair.first);
}
}
return qq;
}
};