思路挺简单的: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 --]; } };