LeetCode | Merge Sorted Array

Merge Sorted Array

 Total Accepted: 54758 Total Submissions: 183431My Submissions

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1and nums2 are m and n respectively.

Show Tags
Have you met this question in a real interview? 
Yes
 
No

Discuss

思路:这题没看懂意思其实,WA了两次,后来猜测是只取数组里面前一部分的值,即nums1整个数组只取前m个值,nums2只取前n个值,试了一下居然AC了,happy。

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
       vector<int> temp;
       temp.insert(temp.end(),nums1.begin(),nums1.end());
       nums1.clear();
       vector<int>::iterator p=temp.begin();
       for(int i=0;i<m;i++)
       {
           nums1.push_back(p[i]);
       }
       
       vector<int> tmp;
       tmp.insert(tmp.end(),nums2.begin(),nums2.end());
       nums2.clear();
       vector<int>::iterator q=tmp.begin();
       for(int i=0;i<n;i++)
       {
           nums2.push_back(q[i]);
       }
       
       nums1.insert(nums1.end(),nums2.begin(),nums2.end());
       sort(nums1.begin(),nums1.end());
    }
};

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/Tobyuyu/p/4965323.html