Leetcode88 空间足够双指针原地归并

    技术2022-07-10  117

    class Solution { public: // 借助一个辅助空间再填到nums1,空间复杂度O(n+m) // 双指针直接归并,从后往前扫,空间复杂度O(1) void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = m - 1, j = n - 1, k = m + n -1; while(i>=0&&j>=0){ if(nums2[j]>nums1[i]) nums1[k--] = nums2[j--]; else nums1[k--] = nums1[i--]; } while(k>=0&&j>=0) nums1[k--] = nums2[j--]; } };

     

    Processed: 0.011, SQL: 9