题解 | #合并两个有序的数组#

合并两个有序的数组

http://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        int i=0,j=0,k=0;
        int *C = new int[m+n];
        while(i<m&&j<n){
            int min = A[i]<B[j]?A[i]:B[j];
            A[i]<B[j]?++i:++j;
            C[k++] = min;
        }
        while(i<m) C[k++] = A[i++];
        while(j<n) C[k++] = B[j++];
        memcpy(A, C, (m+n)*sizeof(int));
    }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务