关闭

#6 Merge Two Sorted Arrays

标签: lintcodetwo pointers
73人阅读 评论(0) 收藏 举报
分类:

题目描述:

Merge two given sorted integer array A and B into a new sorted integer array.

Example

A=[1,2,3,4]

B=[2,4,5,6]

return [1,2,2,3,4,4,5,6]


题目思路:

two pointers的简单题,就不多说了。

Mycode(AC = 13ms):

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
        vector<int> ans(A.size() + B.size(), 0);
        
        if (A.size() == 0) return ans;
        
        int idx1 = 0, idx2 = 0, idx = 0;
        
        while (idx1 < A.size() && idx2 < B.size()) {
            if (A[idx1] <= B[idx2]) {
                ans[idx++] = A[idx1++];
            }
            else {
                ans[idx++] = B[idx2++];
            }
        }
        
        while (idx1 < A.size()) {
            ans[idx++] = A[idx1++];
        }
        
        while (idx2 < B.size()) {
            ans[idx++] = B[idx2++];
        }
        
        return ans;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14648次
    • 积分:2254
    • 等级:
    • 排名:第17280名
    • 原创:221篇
    • 转载:1篇
    • 译文:0篇
    • 评论:10条
    文章分类
    文章存档