(88)-(Merge Sorted Array )-(将两个有序的数组合并成同一个数组nums1)-(还是归并排序的最后一步) //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) { int i=0; int j=0; int k=0; //数组1为空,把数组2直接放到数组1上面去,不做任何修改 if(nums1==null||nums1.length==0) { for(j=0;j<n;j++) { nums1[j]=nums2[j]; } return ; } //数组2为空,不做任何处理 if(nums2==null||nums2.length==0) { return ; } i=0; j=0; k=0; int []ans=new int[m+n]; while(i<m &&j<n) { if(nums1[i]<nums2[j]) { ans[k]=nums1[i]; i++; k++; } else { ans[k]=nums2[j]; j++; k++; } } while(i<m) { ans[k]=nums1[i]; i++; k++; } while(j<n) { ans[k]=nums2[j]; j++; k++; } for(k=0;k<m+n;k++) { nums1[k]=ans[k]; } return ; } }