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数组倒着赋值。

京公网安备 11010502036488号