Note
我的想法是將B中的元素逐個的插入A中。當B最後一個元素的值大於A中最後一個元素的值時,剛好可以在 i 到達A.size()前插入完;反之,可在下一個while中將剩餘的B中的元素插入A的末尾。
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) {
vector<int> C;
int i = 0, j = 0;
while (i < A.size() && j < B.size())
{
if (B[j] < A[i])
A.insert(A.begin() + i, B[j++]);
else
++i;
}
while (j < B.size())
{
A.insert(A.begin() + i, B[j++]);
++i;
}
return A;
}
};