leetcode:合并两个有序数组

题目描述

解题思路

一次遍历两个数组,每次添加其中的较小值到新数组中,直至一数组为空,再插入剩余数组元素

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void (int* nums1, int m, int* nums2, int n) {
int end=m+n-1;
m--;
n--;
while(m>=0&&n>=0)
{
if (nums1[m]>nums2[n])
{
nums1[end--]=nums1[m--];
}
else
{
nums1[end--]=nums2[n--];
}
}
while(n>=0)
{
nums1[end--]=nums2[n--];
}
return nums1;
}