关闭

merge-sorted-array

104人阅读 评论(0) 收藏 举报
分类:

容易 合并排序数组 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];
        }
    }
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:35873次
    • 积分:2546
    • 等级:
    • 排名:第14410名
    • 原创:221篇
    • 转载:41篇
    • 译文:0篇
    • 评论:0条