题目:
代码:
class Solution {
public:
void merge(vector<int>& A, int m, vector<int>& B, int n) {
int a=m+n;
while(m>0||n>0){
if(m==0){
A[a-1]=B[n-1];
n--;
}
else if(n==0){
A[a-1]=A[m-1];
m--;
}
else if(m>0&&n>0){
if(A[m-1]>B[n-1]){
A[a-1]=A[m-1];
m--;
}
else{
A[a-1]=B[n-1];
n--;
}
}
a--;
}
}
};
主要想法:A数组后面的空间没有用,可以利用起来。