程序员面试的那些小事程序员iOS Developer

lintcode 合并排序数组

2016-12-12  本文已影响46人  yzawyx0220

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

class Solution {
public:
    /**
     * @param A and B: sorted integer array A and B.
     * @return: A new sorted integer array
     */
    vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
        // write your code here
        int i = A.size() - 1,j = B.size() - 1;
        int k = A.size() + B.size() - 1;
        vector<int> 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;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读