Lintcode 6. 合并排序数组 II
题目描述:合并两个有序升序的整数数组A和B变成一个新的数组。新数组也要有序。
题目较简单,使用归并排序中merge时的方法就成。
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) {
if (0 == A.size() && 0 == B.size()) {
return vector<int>();
}
vector<int> result;
int idxA = 0, idxB = 0;
while (idxA < A.size() && idxB < B.size()) {
if (A[idxA] < B[idxB]) {
result.push_back(A[idxA++]);
} else {
result.push_back(B[idxB++]);
}
}
while (idxA < A.size()) {
result.push_back(A[idxA++]);
}
while (idxB < B.size()) {
result.push_back(B[idxB++]);
}
return result;
}
};