Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
Solution:
1 public class Solution { 2 public void merge(int A[], int m, int B[], int n) { 3 int end = m+n-1; 4 int index1=m-1, index2=n-1; 5 6 while (end>=0){ 7 if (index1<0){ 8 A[end]=B[index2]; 9 index2--; 10 end--; 11 } else if (index2<0){ 12 break; 13 } else { 14 if (A[index1]>B[index2]){ 15 A[end] = A[index1]; 16 index1--; 17 end--; 18 } else { 19 A[end] = B[index2]; 20 index2--; 21 end--; 22 } 23 } 24 } 25 } 26 }