Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2.
The number of elements initialized in nums1 and nums2 are m and n respectively.
1 class Solution { 2 public: 3 void merge(int A[], int m, int B[], int n) { 4 int aindex=m-1; 5 int bindex=n-1; 6 int index=m+n-1; 7 8 while(aindex>=0&&bindex>=0) 9 { 10 if(B[bindex]>A[aindex]) 11 { 12 A[index--]=B[bindex--]; 13 //index--; 14 //bindex--; 15 }else{ 16 A[index--]=A[aindex--]; 17 //index--; 18 //aindex--; 19 } 20 } 21 22 while(aindex>=0) 23 { 24 A[index--]=A[aindex--]; 25 //index--; 26 //aindex--; 27 } 28 29 while(bindex>=0) 30 { 31 A[index--]=B[bindex--]; 32 //index--; 33 //bindex--; 34 } 35 36 } 37 };