Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m andn respectively.
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int cur = n+m-1;
int ia =m-1, ib=n-1;
for(; ia>=0 && ib>=0;){
if(A[ia]>B[ib]){
A[cur--]=A[ia];
ia--;
}else{
A[cur--]=B[ib];
ib--;
}
}
while(ib>=0){
A[cur--]=B[ib];
ib--;
}
}
};