大数据

lintcode 第六题 合并排序数组

合并两个排序的整数数组A和B变成一个新的数组。
题目比较简单,新建一个数组,从后向前一次遍历两个数组,按大小插入到新的数组中。

class Solution {
public:
    /**
     * @param A and B: sorted integer array A and B.
     * @return: A new sorted integer array
     */
    vector mergeSortedArray(vector &A, vector &B) {
        // write your code here
        int i = A.size() - 1,j = B.size() - 1;
        int k = A.size() + B.size() - 1;
        vector result(k + 1,0);
        while (i >= 0 && j >= 0) {
            if (A[i] > B[j]) result[k--] = A[i--];
            else result[k--] = B[j--];
        }
        while (i >= 0) result[k--] = A[i--];
        while (j >= 0) result[k--] = B[j--];
        return result;
    }
};