leetcode 88. Merge Sorted Array

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        //从前往后插入会使迭代器失效  那就换一种思路从后往前
        //归并排序李的mergesort函数
        int i = m - 1;
        int j = n - 1;
        int k = n + m -1;
        
        while(i>=0 && j >= 0)
            if(nums1[i] > nums2[j]){
                nums1[k--] = nums1[i--];
            }else{
                nums1[k--] = nums2[j--];
            
            }
        while(i >= 0){
            nums1[k--] = nums1[i--];
        }
        while(j >= 0){
            nums1[k--] = nums2[j--];
        }
    }
};

 

posted @ 2017-04-26 12:45  StrongYaYa  阅读(140)  评论(0编辑  收藏  举报