合并排序后的数组
从长数组的尾部开始合并,时间复杂度O(m+n),空间复杂度O(1)
class Solution {
public:
void merge(int A[], int m, int B[], int n)
{
int i=m-1;
int j=n-1;
int k=m+n-1;
while(i>=0&&j>=0)
{
if(A[i]>B[j])
A[k--]=A[i--];
else
A[k--]=B[j--];
}
if(i<0)
{
while(j>=0)
A[k--]=B[j--];
}
if(j<0)
{
while(i>=0)
A[k--]=A[i--];
}
}
};