【链表与数组】Lintcode 6. 合并排序数组 II

Lintcode 6. 合并排序数组 II

题目描述:合并两个有序升序的整数数组A和B变成一个新的数组。新数组也要有序。
在这里插入图片描述
题目较简单,使用归并排序中merge时的方法就成。

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) {
    
    
        if (0 == A.size() && 0 == B.size()) {
    
    
            return vector<int>();
        }
        
        vector<int> result;
        int idxA = 0, idxB = 0;
        while (idxA < A.size() && idxB < B.size()) {
    
    
            if (A[idxA] < B[idxB]) {
    
    
                result.push_back(A[idxA++]);
            } else {
    
    
                result.push_back(B[idxB++]);
            }
        }
        
        while (idxA < A.size()) {
    
    
            result.push_back(A[idxA++]);
        }
        while (idxB < B.size()) {
    
    
            result.push_back(B[idxB++]);
        }
        
        return result;
    }
};

猜你喜欢

转载自blog.csdn.net/phdongou/article/details/113828240