合并排序后的数组
从长数组的尾部开始合并,时间复杂度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--]; } } };