题意:归并两个有序数组,把归并结果存到第一个数组上。

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int pos1 = m - 1;
        int pos2 = n - 1;
        int len = m + n - 1;
        while(pos1 >= 0 || pos2 >= 0){
            if(pos2 < 0){
                nums1[len--] = nums1[pos1--];
            }
            else if(pos1 < 0){
                nums1[len--] = nums2[pos2--];
            }
            else if(nums1[pos1] >= nums2[pos2]){
                nums1[len--] = nums1[pos1--];
            }
            else{
                nums1[len--] = nums2[pos2--];
            }
        }
    }
};

  

相关文章:

  • 2021-07-20
  • 2022-02-03
  • 2021-06-13
  • 2022-03-01
  • 2022-01-25
  • 2022-03-06
猜你喜欢
  • 2021-08-23
  • 2021-06-29
  • 2021-07-05
  • 2022-12-23
  • 2021-09-01
  • 2021-04-22
  • 2021-06-14
相关资源
相似解决方案