Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
題目的意思是,輸入兩個已經排好序的數組nums1和nums2,要根據順序把nums2種的元素併入nums1數組中。其中,nums1數組的待排序元素數量爲m,nums2數組的待排序元素數量爲n。題目假設nums1數組的長度大於須要排序的元素數量(數組的後n位爲0)。
public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m-1; int j = n-1; int k = m+n-1 ; while(i >= 0 && j >= 0 ){ if(nums1[i] > nums2[j]){ nums1[k--] = nums1[i--]; }else{ nums1[k--] = nums2[j--]; } } while(j >= 0){ nums1[k--] = nums2[j--]; } }
這道題的描述不是很清晰,若是理解了,想法仍是比較簡單的~數組