解题思路: 比较两个数组的每个数的大小,从后往前比较,大的保存在nums1的最后,遍历.
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
while(m>0 && n>0){
if(nums2[n-1]>nums1[m-1]){
nums1[m+n-1] = nums2[n-1];
n--;
}
else{
nums1[m+n-1] = nums1[m-1];
m--;
}
}
while(m>0){
nums1[m+n-1] = nums1[m-1];
m--;
}
while(n>0){
nums1[m+n-1] = nums2[n-1];
n--;
}
}
};