解題思路: 比較兩個數組的每個數的大小,從后往前比較,大的保存在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--; } }};
新聞熱點
疑難解答