88. 合并两个有序数组
OJ链接
-
将两个变量分别指向最后的位置,谁大谁就放到nums1的位置上~~
-
但是有一个数组已经放完了,那个数组就可以直接放入另一个数组中,那么这个判断条件是什么呢?
-
i2<0结束了,不需要处理
-
i1<0结束了,需要处理
-
代码如下:
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
int i1 = m-1,i2 = n-1;
int j = m+n-1;
while(i1>=0&&i2>=0)
{
if(nums1[i1] > nums2[i2])
{
nums1[j--] = nums1[i1--];
}
else
{
nums1[j--] = nums2[i2--];
}
}
while(i2>=0)
{
nums1[j--] = nums2[i2--];
}
}