public class Solution { public void merge(int A[], int m, int B[], int n) { if (n == 0) { return; } if (m == 0) { for (int tmp = 0; tmp < n; tmp++) { A[tmp] = B[tmp]; } } int i = 0 , j = 0 , k = 0; int[] C = new int[m + n]; while(k < m + n){ if(A[i] < B[j]){ C[k] = A[i]; i++; }else{ C[k] = B[j]; j++; } k++; if(i > m- 1){ break; } if(j > n - 1){ break; } } if(i > m- 1){ while(j < n){ C[k] = B[j]; k++; j++; } } if(j > n - 1){ while(i < m){ C[k] = A[i]; i++; k++; } } for(int index = 0 ; index < C.length ; index++){ A[index] = C[index]; //System.out.println(C[index]); } }}
昨晚提交了三次,写了半个小时作用,刚刚写了接近10分钟,然后提交的时候发现遇到昨晚遇到的坑,把开始的判断加上去就通过了,写代码到底是靠状态还是靠RP呢?