leetcode 合并两个有序数组 简单_C

 

 思路挺简单的:nums1 与 nums2 比较,然后在 nums1 中从后往前填充。。注意一点就能 1A

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int idx = n + m - 1;
        -- m; -- n;
        while(n >= 0 && m >= 0) {
            nums1[idx --] = nums1[m] > nums2[n] ? nums1[m] : nums2[n];
            nums1[m] > nums2[n] ? -- m : -- n;
        }
        while(n >= 0) nums1[idx --] = nums2[n --];
    }
};