解題思路: 比較兩個數組的每個數的大小,從後往前比較,大的保存在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--;
}
}
};