从尾巴开始遍历,比较两个数组尾巴的最大值,然后把该最大值放进去,同时维护指针

public void merge(int A[], int m, int B[], int n) {
    m--;
    n--;
    for (int i = 0; i < A.length; i++) {
        //睡醒的时候想到了,从尾巴开始,把最大的数放进去
        if (n >= 0 && (m < 0 || B[n] > A[m])) {
            A[A.length - 1 - i] = B[n--];
        } else {
            A[A.length - 1 - i] = A[m--];
        }
    }
}