Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

 1 class Solution {
 2 public:
 3     void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
 4         if(nums1.empty()||nums2.empty())
 5             return;
 6         int idx1=m-1;
 7         int idx2=n-1;
 8         int len=m+n-1;
 9         while(idx1>=0&&idx2>=0)
10         {
11             if(nums1[idx1]>=nums2[idx2])
12                 nums1[len--]=nums1[idx1--];
13             else
14                 nums1[len--]=nums2[idx2--];
15         }
16         while(idx2>=0)
17             nums1[len--]=nums2[idx2--];
18     }
19 };

 

相关文章:

  • 2021-09-01
  • 2022-12-23
  • 2021-08-05
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2021-08-11
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2021-08-23
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
相关资源
相似解决方案