关于
lintcode系列,第6题,题目网址:https://www.lintcode.com/problem/merge-two-sorted-arrays/description
描述
合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
样例:
样例 1:
输入: A=[1], B=[1]
输出:[1,1]
样例 2:
输入: A=[1,2,3,4], B=[2,4,5,6]
输出: [1,2,2,3,4,4,5,6]
思路
还没能领略到vector的精髓,所以用数组的思路实现。
C++实现
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
vector<int> C(A.size()+B.size());
int i=0,ap=0,bp=0;
for (;i<C.size();i++){
if(ap == A.size()) {
C[i] = B[bp];
bp++;
}
else if(bp == B.size()) {
C[i] = A[ap];
ap++;
}
else if(A[ap]<B[bp]) {
C[i] = A[ap];
ap++;
}
else {
C[i] = B[bp];
bp++;
}
}
return C;
}
};