利用迭代器!
#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 中的元素,并标记为 1for (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;}
};