leetcode 88:合并两个有序数组

void merge(std::vector<int> &nums1,int m,std::vector<int>&nums2,int n){
   int i=0,j=0;
   int c=m;
   while(i!=n&&j!=c){
       if(nums1[j]<=nums2[i])j++;
       else{
           for(int k=m+n-2;k>=j;k--){
               nums1[k+1]=nums1[k];         
           }
           nums1[j]=nums2[i];
           i++;
           j++;
           c=c+1;
       }
   }
   if(i!=n&&j==c)
      for(;j<=m+n-1;j++,i++)
          nums1[j]=nums2[i];
}

猜你喜欢

转载自blog.csdn.net/u013263891/article/details/82873634