void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int index=m+n-1,i=m-1,j=n-1;
//从右向左处理
while(i>=0 && j>=0){
if(nums1[i]>nums2[j])
nums1[index--]=nums1[i--];
else
nums1[index--]=nums2[j--];
}
//如果nums1已经全部处理了,剩下的直接搬nums2即可
//如果nums2处理完了,剩下的就不必处理了
while(j>=0)
nums1[index--]=nums2[j--];
}
88. 合并两个有序数组/C++
最新推荐文章于 2024-09-05 06:45:00 发布