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 to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(n<1) return;
int k = m+n-1;
int i = m-1;
int j = n-1;
while( i>=0 && j>=0 ) {
A[k--] = A[i] > B[j] ? A[i--] : B[j--];
}
while( j>=0 ) A[k--] = B[j--];
}
};
public class Solution {
public void merge(int A[], int m, int B[], int n) {
// Start typing your Java solution below
// DO NOT write main() function
//input check
int i=m-1;
int j=n-1;
int k=m+n-1;
while(i>=0 && j>=0) {
A[k--] = A[i] > B[j] ? A[i--] : B[j--]; //!wrong!!! after ?, i,j value changed. A[i--] > B[j--] ? A[i] : B[j]
}
while(j>=0) {
A[k--] = B[j--];
}
}
}