五個(gè)月前寫(xiě)的了。我記得好像當(dāng)時(shí)去東京的飛機(jī)上還重新寫(xiě)了一遍,真是naive。牲览。這種題要在紙上模擬一下就容易很多。
public void merge(int[] nums1, int m, int[] nums2, int n) {
int i = m-1 , j = n-1;
int slot = m + n - 1;
while(i >= 0 && j >= 0 ){
if(nums1[i]>=nums2[j]){
nums1[slot] = nums1[i];
i--;
slot--;
}
else{
nums1[slot] = nums2[j];
j--;
slot--;
}
}
// if nums2 has some numbers that are smaller than nums1[0]
if(j>=0){
for(int k = 0 ; k <= j ; k ++){
nums1[k] = nums2[k];
}
}
}