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

合并两个有序的数组

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

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i = m-1;//A数组的末尾
        int j = n-1;//B数组的末尾
        int k = m+n-1;//A数组拼接后的末尾
        //两个数组都有数据时
        while(i >=0 && j >= 0){
            if( A[i] <= B[j] ){
                A[k]= B[j];
                k--;
                j--;

            }else if(A[i]>B[j]){
                A[k] = A [i];
                k--;
                i--;
            }
        }//此时循环结束,其中一个数组已走完
        //B先走完,A里面可以保持不变
        //如果A里面先走完,需要将B中剩余的放进A中
        while(j>=0){
            A[k]=B [j];
            k--;
            j--;
        }

    }
}
全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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