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 nrespectively.
将两个排好序的数组按序合并 题中要求合并至A中 A有足够空间 一般做合并时都是从头部进行比较合并 这里得从尾部 依次比较存至A[m+n] 代码如下:
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int c=m+n-1;
while(m>0&&n>0){
if(A[m-1]>=B[n-1]){
A[c]=A[m-1];
m--;
c--;
}else{
A[c]=B[n-1];
n--;
c--;
}
}
while(m>0){
A[c]=A[m-1];
m--;
c--;
}
while(n>0){
A[c]=B[n-1];
n--;
c--;
}
}
}