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 and n respectively.
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int i,j,k;
for(i=m-1,j=n-1,k=m+n-1;k>=0;--k){
if(i>=0&&(j<0||A[i]>B[j]))//如果A还有元素且(A[i]>B[i]或者B没有元素了
A[k]=A[i--];//将A的元素放入新数组中
else A[k]=B[j--];//将B的元素放入新数组中
}
}
};