题目大意:归并两个排序数组A和B,A空间足够大,可以把合并后的数组存在A中。
解决办法是从尾部归并。
代码如下
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int size=m+n-1;
int pta=m,ptb=n;
while(pta && ptb)
if(A[pta-1]>B[ptb-1])
A[size--]=A[--pta];
else
A[size--]=B[--ptb];
if(ptb)
while(ptb--)A[size--]=B[ptb];
}
};