题目连接:Leetcode 088 Merge Sorted Array
解题思路:维护两个指针指向两个数组未被合并的位置,从右向左遍历,每次选择一个较大的放入新数组。
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int mov = m + n - 1; while (mov >= 0) { if (n <= 0 || (m > 0 && nums1[m-1] > nums2[n-1])) nums1[mov--] = nums1[--m]; else nums1[mov--] = nums2[--n]; } } };