merge-sorted-array

容易 合并排序数组 II

36%
通过

合并两个排序的整数数组A和B变成一个新的数组。

您在真实的面试中是否遇到过这个题? 
Yes
样例

给出A = [1, 2, 3, empty, empty] B = [4,5]

合并之后A将变成[1,2,3,4,5]

注意

你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。

public class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int aLen = m-1;
        int bLen = n-1;
        int index = 0;
        int[] mix = new int[m+n];
        int i = 0;
        int j = 0;
        while(i<=aLen&&j<=bLen){
            if(nums1[i]<nums2[j]){
                mix[index] = nums1[i];
                index++;
                i++;
            }else{
                mix[index] = nums2[j];
                index++;
                j++;
            }
        }
        while(i<=aLen){
            mix[index] = nums1[i];
            index++;
            i++;
        }
        while(j<=bLen){
            mix[index] = nums2[j];
            index++;
            j++;
        }
        for(int k=0; k<index;k++){
            nums1[k] = mix[k];
        }
    }
}

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

merge-sorted-array

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭