解题思路: 比较两个数组的每个数的大小,从后往前比较,大的保存在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--; } }};
新闻热点
疑难解答