【LeetCode】88. 合併兩個有序陣列(Merge Sorted Array)
阿新 • • 發佈:2018-12-07
題目描述: 給定兩個有序陣列,合併它們,合併之後的陣列依舊有序。
解題思路: 從後向前存放。
public void merge(int[] nums1, int m, int[] nums2, int n) {
if(nums1 == null || nums2 == null) return;
while(m > 0 && n > 0){
if(nums1[m - 1] >= nums2[n - 1]){
nums1[ m + n - 1] = nums1[m - 1];
m--;
}else{
nums1[m + n - 1] = nums2[n - 1];
n--;
}
}
// 這一步可以省略
while(m > 0){
nums1[m - 1] = nums1[m - 1];
m--;
}
while (n > 0){
nums1[n - 1] = nums2[n - 1];
n--;
}
}