题解 | #合并两个有序的数组#
合并两个有序的数组
http://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
比较A和B中较大的数字放置在A的末尾。注意A数组用完后如过B数组还有那么直接把B数组剩下的放置在A数组前面。
public class Solution {
public void merge(int A[], int m, int B[], int n) {
if(m<=0 && n>0){
A[m+n-1]=B[n-1];
merge(A,m,B,n-1);
}
if(m<=0 || n<=0)
return;
if(A[m-1]<B[n-1]){
A[m+n-1]=B[n-1];
merge(A,m,B,n-1);
}else{
A[m+n-1]=A[m-1];
merge(A,m-1,B,n);
}
}
}