Question:
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.
//********** Hints ************
又是150原题,不会的自罚三杯
//*****************************
Solution:
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int length = m + n;
if(n == 0)
return;
int i = m-1;
int j = n-1;
while(i>=0 && j>=0){
if(A[i] <= B[j]){
A[length-1] = B[j];
j = j-1;
}
else{
A[length-1] = A[i];
i = i-1;
}
length-=1;
}
if(i < 0){
for(int k = 0; k<= j;k++){
A[k] = B[k];
}
}
}
}