从后向前三指针
时间复杂度:O(m + n)
空间复杂度:O(1)
class Solution {
public:
void merge(vector<int>& A, int m, vector<int>& B, int n) {
int a=m-1;//A数组索引
int b=n-1;//B数组索引
int l=m+n-1;//结果数组索引
while(a>=0&&b>=0){
if(A[a]<=B[b]) {
A[l--]=B[b--];
}
else{
A[l--]=A[a--];
}
}
while(b>=0){
A[l--]=B[b--];
}
}
};
版权声明:本文为weixin_46269257原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。