题解 | #合并两个有序的数组#
合并两个有序的数组
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int i = m-1;//A数组的末尾
int j = n-1;//B数组的末尾
int k = m+n-1;//A数组拼接后的末尾
//两个数组都有数据时
while(i >=0 && j >= 0){
if( A[i] <= B[j] ){
A[k]= B[j];
k--;
j--;
}else if(A[i]>B[j]){
A[k] = A [i];
k--;
i--;
}
}//此时循环结束,其中一个数组已走完
//B先走完,A里面可以保持不变
//如果A里面先走完,需要将B中剩余的放进A中
while(j>=0){
A[k]=B [j];
k--;
j--;
}
}
}