合并两个排序的整数数组A和B变成一个新的数组。
样例
给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
挑战
你能否优化你的算法,如果其中一个数组很大而另一个数组很小?
class Solution {
public:
/*
* @param A: sorted integer array A
* @param B: sorted integer array B
* @return: A new sorted integer array
*/
vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
// write your code here
if(A.empty())
return B;
if(B.empty())
return A;
int ASize=A.size();
int BSize=B.size();
int i=0,j=0;
vector<int> result;
while(i<ASize||j<BSize){
if(i==ASize){
result.push_back(B[j++]);
continue;
}
else if(j==BSize){
result.push_back(A[i++]);
continue;
}
else{
if(A[i]<B[j])
result.push_back(A[i++]);
else
result.push_back(B[j++]);
}
}
return result;
}
};