地址
https://leetcode-cn.com/problems/merge-sorted-array/
描述
思想
代码
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
//本题为了防止nums1中数字被nums2中数字覆盖,从后往前遍历
int k=n+m-1;//存数指针
int i=m-1;//指向nums1
int j=n-1;//...nums2
while(i>=0&&j>=0){
if(nums1[i]<nums2[j]) nums1[k--]=nums2[j--];
else nums1[k--]=nums1[i--];
}
//扫尾,只扫nums2,假如j指针遍历完,i指针还没遍历完,说明剩下的数都在正确位置上
while(j>=0) nums1[k--]=nums2[j--];
}
};