这个题就是从后面向前面存数据,唯一需要注意的是,B没有都存入到A中,要再check一下,B是否都存入了A。
public void merge(int A[], int m, int B[], int n) {
int len = m + n -1;
int lenA = m - 1;
int lenB = n - 1;
while(lenA >= 0 && lenB >= 0 ){
if(A[lenA] > B[lenB]){
A[len] = A[lenA];
len--;
lenA--;
}else{
A[len] = B[lenB];
len--;
lenB--;
}
}
while(lenB>=0){
A[len] = B[lenB];
len--;
lenB--;
}
}
No comments:
Post a Comment