leetcode 88 Merge Sorted Array ----- java

时间:2022-02-09 04:13:50

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

合并数组。题意简单明确。

public class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        
        if( n == 0)
            return ;
        if( m == 0){
            for( int i = 0;i<n;i++)
                nums1[i] = nums2[i];
            return ;
        }

        for( int i = m+n-1,j = m-1,k = n-1;i>=0;i--){
            if( j == -1){
                for( ;i>=0;i--,k--)
                    nums1[i] = nums2[k];
                break;
            }else if( k == -1){
                break;
            }
            if( nums1[j] >= nums2[k] ){
                nums1[i] = nums1[j];
                j--;
            } else{
                nums1[i] = nums2[k];
                k--;
            }



        }
        
    
    }
}