题解 | #两个数组的交集#

两个数组的交集

https://www.nowcoder.com/practice/56ea71d1f4e94de2aaec10e985874cce

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums1 int整型vector 
     * @param nums2 int整型vector 
     * @return int整型vector
     */
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        // write code here
        set<int> s1(nums1.begin(), nums1.end());
        set<int> s2(nums2.begin(), nums2.end());
        auto itr1 = s1.begin();
        auto itr2 = s2.begin();
        vector<int> result;
        while (itr1 != s1.end() && itr2 != s2.end()) {
            if (*itr1 == *itr2) {
                result.push_back(*itr1);
                itr1++;
                itr2++;
            }else if (*itr1 < *itr2) {
                itr1++;
            } else {
                itr2++;
            }
        }
        return result;
    }
};

全部评论

相关推荐

头像
05-13 11:19
C++
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务