核心思想:倒着填充
/*
* @lc app=leetcode id=88 lang=cpp
*
* [88] Merge Sorted Array
*/
// @lc code=start
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int L = m-1;
int R = n-1;
int loc = m+n-1;
while( L>=0 && R>=0 ){
if(nums1[L] > nums2[R]){
nums1[loc--] = nums1[L--];
}else{
nums1[loc--] = nums2[R--];
}
}
while(L>=0) nums1[loc--] = nums1[L--];
while(R>=0) nums1[loc--] = nums2[R--];
}
};
// @lc code=end