lintcode 合并排序数组

作者: yzawyx0220 | 来源:发表于2016-12-12 09:31 被阅读46次

    合并两个排序的整数数组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;
        }
    };
    

    相关文章

      网友评论

        本文标题:lintcode 合并排序数组

        本文链接:https://www.haomeiwen.com/subject/vkkmmttx.html