public class Solution { public void merge(int A[], int m, int B[], int n) { int k = m+n-1; int aIdx = m-1; int bIdx = n-1; while(aIdx >= 0 && bIdx >=0){ if(A[aIdx] >= B[bIdx]){ A[k] = A[aIdx]; aIdx--; }else{ A[k] = B[bIdx]; bIdx--; } k--; } // 因为A的数组足够大 所以可能aIdx已经遍历到头了 而bInx还没 while(bIdx >= 0){ A[k] = B[bIdx]; bIdx--; k--; } } }
[Leetcode]--Merge Sorted Array
原文:http://www.cnblogs.com/RazerLu/p/3533076.html