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

合并两个有序的数组

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));
    }
};

全部评论

相关推荐

熊大不大:微信也是华为旗下吧,我看我朋友也是华为工牌写wx
点赞 评论 收藏
分享
09-25 18:40
已编辑
河北大学 Unity3D客户端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务