public class Solution { public void merge(int A[], int m, int B[], int n) { int maxIndex = m + n - 1;//A数组最后一个位置的索引 int indexA = m - 1; int indexB = n - 1; //从A数组的最后一个位置开始赋值 while(indexA >= 0 && indexB >= 0){ if(A[indexA] > B[indexB]){ A[maxIndex] = A[indexA]; indexA--; }else{ A[maxIndex] = B[indexB]; indexB--; } maxIndex--; } while(indexB >= 0){ A[maxIndex] = B[indexB]; maxIndex--; indexB--; } } }