88. Merge Sorted Array
- Total Accepted: 136768
- Total Submissions: 436625
- Difficulty: Easy
- Contributors: Admin
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 nums1 and nums2 are m and n respectively.
Subscribe to see which companies asked this question
void merge(int* nums1, int m, int* nums2, int n) {
int *b = (int *)malloc((m+n) * sizeof(int));
//int b[m+n];
int low1 = 0;
int low2 = 0;
int i = 0;
int k = low1;
while((low1 < m) && (low2 < n))
{
if (nums1[low1] < nums2[low2])
b[i++] = nums1[low1++];
else
b[i++] = nums2[low2++];
}
while(low1 < m)
b[i++] = nums1[low1++];
while(low2 < n)
b[i++] = nums2[low2++];
for (int j = 0; j != i; j++)
nums1[k++] = b[j];
free(b);
}