import java.util.*; public class Solution { public void merge(int A[], int m, int B[], int n) { int i = m - 1; int j = n - 1; int index = m + n - 1; while(index>=0&&i>=0&&j>=0){ //从后往前放,将B【n-1】与A【m-1】比较,大的放下,指针-1 if(B[j] > A[i]){ A[index] = B[j]; j--; index--; }else{ A[index] = A[i]; i--; index--; } } //若b还没到头,说明A放完了,把剩下的b覆盖到头部即可 if(j>=0){ for(int k = j; k>=0; k--){ A[k] = B[k]; } } } }思路见注释