88. 合并两个有序数组
- 将两个变量分别指向最后的位置,谁大谁就放到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--]; } }