88. Merge Sorted Array

 1 class Solution {
 2     public void merge(int[] nums1, int m, int[] nums2, int n) {
 3         int[] res = new int[m + n];
 4         int pos = 0;
 5         int i = 0, j = 0;
 6         while(i < m || j < n) {
 7             if(i >= m) {
 8                 while(j < n) {
 9                     res[pos] = nums2[j];
10                     pos++;
11                     j++;
12                 }
13             }else if(j >= n) {
14                 while(i < m) {
15                     res[pos] = nums1[i];
16                     pos++;
17                     i++;
18                 }
19             }else {
20                 if(nums1[i] < nums2[j]) {
21                     res[pos] = nums1[i];
22                     i++;
23                     pos++;
24                 }else {
25                     res[pos] = nums2[j];
26                     j++;
27                     pos++;
28                 }
29             }
30         }
31         for(i = 0; i < m+n; i++) {
32             nums1[i] = res[i];
33         }
34                    
35     }
36 }

 

posted @ 2018-09-16 11:07  jasoncool1  阅读(107)  评论(0编辑  收藏  举报