leetcode刷题--1 No.88合并两个有序数组

为达到O(m+n)的复杂度,思路是比较大小,选用两个数组中哪个数组的数填入。同时为了避免数组越界,这里选用了三目运算符。 

class Solution {

    public void merge(int[] nums1, int m, int[] nums2, int n) {

    int len=m+n-1;

    m--;

    n--;

    while(len>=0){

        if(n>=0&&m>=0)

            nums1[len--]=(nums1[m]>=nums2[n])?nums1[m--]:nums2[n--];

        else if(m<0)

            nums1[len--]=nums2[n--];

        else

            nums1[len--]=nums1[m--];

    }

    }

}

 

你可能感兴趣的:(leetcode,leetcode)