88. Merge Sorted Array

从后往前merge

 1     public void merge(int[] nums1, int m, int[] nums2, int n) {
 2         if(nums2 == null || nums2.length == 0 || nums1 == null) {
 3             return;
 4         }
 5         int idx1 = m-1;
 6         int idx2 = n-1;
 7         int index = m+n-1;
 8         while(idx1 >= 0 && idx2 >= 0) {
 9             if(nums1[idx1] >= nums2[idx2]) {
10                 nums1[index--] = nums1[idx1--];
11             } else {
12                 nums1[index--] = nums2[idx2--];
13             }
14         }
15         while(idx2 >= 0) {
16             nums1[index--] = nums2[idx2--];
17         }
18     }

 

posted @ 2016-04-04 13:07  warmland  阅读(133)  评论(0编辑  收藏  举报