void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
vector<int> res(m+n);
int i=0,j=0,k=0;
while(i<m&&j<n){
if(nums1[i]<nums2[j])
res[k++]=nums1[i++];
else
res[k++]=nums2[j++];
}
if(i==m&&j<n){
while(j<n){
res[k++]=nums2[j++];
}
}elseif(j==n&&i<m){
while(i<m){
res[k++]=nums1[i++];
}
}
nums1=res;
}
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int count=m+n-1;
m--;
n--;
while(m>=0&&n>=0) nums1[count--]=nums1[m]>nums2[n]?nums1[m--]:nums2[n--];
while(n>=0) nums1[count--]=nums2[n--];
}