class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int count = m + n - 1;
m = m - 1;
n = n - 1;
while(count >= 0){
while(m >= 0 && n >= 0){
if(nums1[m] > nums2[n]){
nums1[count] = nums1[m];
//cout << "if 1: " << nums1[count] << endl;
m--;
//cout << "m: " << m << endl;
}
else{
nums1[count] = nums2[n];
n--;
//cout << "else 1: " << nums1[count] << endl;
//cout<< "count: " << count << endl;
}
count--;
}
if(m < 0 ){
while(n >= 0){
nums1[count] = nums2[n];
n--;
count--;
//cout << "if 2: " << nums1[count] << endl;
}
break;
}
else if(n < 0){
while(m >= 0){
nums1[count] = nums1[m];
m--;
count--;
//cout << "else 2: " << nums1[count] << endl;
//cout << "count: " << count << endl;
}
break;
}
//count--;
}
//cout << 1 << endl;
}
};
自己太菜了,这么简单的代码都纠结了半天,反省。。。。