利用归并排序,合并时从后向前合并,可以避免元素的移动。 class Solution { public: void merge(int A[], int m, int B[], int n) { int i = m -1, j = n - 1, end = m + n - 1; while(end >= 0) { // 当A数组已经合并完,或者B的最后一个元素大于A的最后一个元素时,就应该合并B的元素了 if(i < 0 || (j >=0 && A[i] < B[j...