83.Merge Sorted Array

思路:
  • 从后向前赋值,这样就可以避免移动数组元素。参考
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int k = m+n-1;
        int i = m-1;
        int j = n-1;
        while(i>=0 && j>=0){
            if(nums1[i] > nums2[j]) nums1[k--] = nums1[i--];
            else nums1[k--] = nums2[j--];
        }
        while(j>=0){
            nums1[k--] = nums2[j--];
        }
    }
};
posted @ 2017-06-14 08:19  UniMilky  阅读(119)  评论(0编辑  收藏  举报