problem
code
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i=m-1, j=n-1, tar=m+n-1; while(j>=0) { nums1[tar--] = (i>=0&&nums1[i]>nums2[j]) ? nums1[i--] : nums2[j--]; } } };
注意,
1.既然给出了结果数据的大小就要能够利用起来有效的数据。
2. 另一个思路是从后面开始比较。
参考
完