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.
问题:将B按顺序合并到A上
分析:插入排序,注意A数组为空
还未ac有疑问!
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = 0; int j = 0; if(m==0) { for(i=0;i<n;i++) nums1[i] = nums2[i]; } while(i < m && j < n) { if(nums1[i] <= nums2[j]) { nums1.insert(nums1.begin()+i+1,nums2[j]); j++; } i++; } if(i>=m ) { for(int k =j;j < n;k++) { nums1[i] = nums2[k]; } } } };
原文:http://www.cnblogs.com/chdxiaoming/p/4478585.html