LeetCode 88. Merge Sorted Array(归并两个有序数组)

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

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--];
            }
        }
    }
};

  

猜你喜欢

转载自www.cnblogs.com/tyty-Somnuspoppy/p/12609880.html