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

合并两个有序的数组

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

    public void merge(int A[], int m, int B[], int n) {
        
        if(B == null){
            return ;
        }
        //A m+n

        int i = m-1;
        int j = n-1;
        int index = m + n - 1;
        while(i >= 0 && j>= 0){
            if(A[i] < B[j]){
                A[index--] = B[j];
                j--;
            }else {
                A[index -- ] = A[i];
                i--;
            }
        }
        if(i < 0){
            while(j >= 0){
                A[index --] = B[j--];
            }
        }
        if(j < 0){
            while(i >= 0){
                A[index --] = A[i--];
            }
        }
        
        
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务