leetcode_合并两个有序数组
必须从后往前改,因为不然的话会被覆盖的很麻烦
1 class Solution { 2 public void merge(int[] nums1, int m, int[] nums2, int n) { 3 int i=m-1; 4 int j=n-1; 5 int k=m+n-1; 6 while(i>=0&&j>=0){ 7 if(nums1[i]>=nums2[j]){ 8 nums1[k--]=nums1[i]; 9 i--; 10 } 11 else{ 12 nums1[k--]=nums2[j]; 13 j--; 14 } 15 } 16 17 if(i>=0){ 18 for(int index=i;index>=0;index--) 19 nums1[k--]=nums1[index]; 20 } 21 if(j>=0){ 22 for(int index=j;index>=0;index--) 23 nums1[k--]=nums2[index]; 24 } 25 26 } 27 }

浙公网安备 33010602011771号