使用原数组空间,防止影响前面未合并元素,从后面开始遍历。双指针分别指向两个数组最后元素,比较合并,合并的指针前移,直到其中一个数组合并完成,再直接合并另一个数组。 class Solution { public: void merge(int A[], int m, int B[], int n) { int a = m; int b = n; int c = m + n - 1; while(a && b){ if(A[a-1] > B[b-1]){ ...