合并两个排序的整数数组A和B变成一个新的数组。
给出A = [1, 2, 3, empty, empty] B = [4,5]
合并之后A将变成[1,2,3,4,5]
你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。
相关题目 Expand
class Solution {
/**
* @param A: sorted integer array A which has m elements,
* but size of A is m+n
* @param B: sorted integer array B which has n elements
* @return: void
*/
public void mergeSortedArray(int[] A, int m, int[] B, int n) {
// write your code here
int i = m-1;
int j = n-1;
int k = m+n-1;
while(i>=0&&j>=0){
if(A[i]>B[j]){
A[k--] = A[i];
i--;
}else{
A[k--] = B[j];
j--;
}
}
while(j>=0&&k>=0){
A[k--] = B[j--];
}
}
}