9ms C++,no use STL(except vector)


  • 0
    B
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        sort(nums1.begin(),nums1.end());
        sort(nums2.begin(),nums2.end());
        vector<int> ret;
        int i = 0,j = 0;
        while(i<nums1.size() && j<nums2.size())
        {
            if(nums1[i] < nums2[j])
            {
                i++;
            }
            else if(nums1[i] > nums2[j])
            {
                j++;
            }
            else
            {  
                if(ret.empty())
                {
                    ret.push_back(nums1[i]);
                }
                else
                {
                    if(nums1[i] != *(ret.end()-1))
                        ret.push_back(nums1[i]);
                }
                i++;
                j++;
            }
        }
        return ret;

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.