版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
合并两个已经排序好的数组A和B为一个数组
思路:从头对比两边数组大小,加到新数组
public class Solution {
/**
* @param A: sorted integer array A
* @param B: sorted integer array B
* @return: A new sorted integer array
*/
public int[] mergeSortedArray(int[] A, int[] B) {
// write your code here
int[] ret = new int[A.length + B.length];
int alen = A.length;
int blen = B.length;
int retLen=0;
int i = 0;
int j = 0;
if (A[alen-1] < B[blen-1]) {
for (; retLen < ret.length; ) {
if ( i < (alen )&&A[i] <= B[j] ) {
ret[retLen] = A[i];
i++;
} else {
ret[retLen] = B[j];
j++;
}
retLen++;
}
} else {
for (; retLen < ret.length; ) {
if (i < (blen)&&A[j] >= B[i] ) {
ret[retLen] = B[i];
i++;
} else {
ret[retLen] = A[j];
j++;
}
retLen++;
}
}
return ret;
}
}