合并排序的数组

在这里插入图片描述

从后向前三指针

时间复杂度: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版权协议,转载请附上原文出处链接和本声明。