1. 程式人生 > >88.Merge Sorted Array

88.Merge Sorted Array

一個 元素 歸並 ref span 空間 鏈接 leet stat

題目鏈接https://leetcode.com/problems/merge-sorted-array/description/

題目大意:給出兩個有序數組,以及每個數組需要計算的元素個數,將其歸並到第一個數組中。

法一:直接用傳統歸並辦法,新開辟一個數組空間將其存放。

技術分享
 1 public static void merge(int[] nums1, int m, int[] nums2, int n) {
 2         int i = 0;
 3         int j = 0;
 4         int[] nums = new int[m + n];
 5         int k = 0;
6 for( ; i < m && j < n; ) { 7 if(nums1[i] < nums2[j]) { 8 nums[k++] = nums1[i++]; 9 } 10 else if(nums1[i] > nums2[j]) { 11 nums[k++] = nums2[j++]; 12 } 13 else { 14 nums[k++] = nums1[i];
15 nums[k++] = nums1[i]; 16 i++; 17 j++; 18 } 19 } 20 while(i < m) { 21 nums[k++] = nums1[i++]; 22 } 23 while(j < n) { 24 nums[k++] = nums2[j++]; 25 } 26 for(int t = 0; t < m + n; t++) {
27 nums1[t] = nums[t]; 28 } 29 }
View Code

88.Merge Sorted Array