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

合并两个有序的数组

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];
            }
        }
    }
}
全部评论

相关推荐

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