import java.util.*; public class Solution { public void merge(int A[], int m, int B[], int n) { int i1 = m - 1; int i2 = n - 1; int cur = A.length - 1; while (i2 >= 0) { if (i1 >= 0 && B[i2] < A[i1]) { A[cur--] = A[i1--]; } else { A[cur--] = B[i2--]; } } } }
解决思想:三指针,一个指针指向A数组最后一个元素位置,一个指针指向B数组最后一个元素位置,还有个指针指向当前需要替换值的位置,从后往前遍历,依次给A数组倒着赋值。