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

合并两个有序的数组

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

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i,j;
        int index = m+n-1;
        for(i = m-1,j=n-1;i>=0 && j>=0;){
            if(A[i] > B[j]){
                A[index] = A[i];
                i--;
            }else{
                A[index] = B[j];
                j--;
            }
            index--;
        }
        if(i >= 0){
            for(int k = i; k >=0; k--,index--){
                A[index] = A[k];
            }
        }
        else if(j >=0){
            for(int k = j; k >=0; k--,index--){
                A[index] = B[k];
            }
        }
    }
}
全部评论

相关推荐

28小凳也想实习:项目不用一个业务一个轮子吗,刷牛客好多人说要一业务一轮子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务