从尾巴开始遍历,比较两个数组尾巴的最大值,然后把该最大值放进去,同时维护指针
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--]; } } }