LeetCode 88. Merge Sorted Array

来源:互联网 发布:hr面试提问技巧 知乎 编辑:程序博客网 时间:2024/05/02 18:54
class Solution {public:    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {        auto it1 = nums1.begin();        auto it2 = nums2.begin();        if(n == 0)return;        if(m == 0){        nums1.clear();        copy(nums2.begin(),nums2.end(),back_inserter(nums1));        return ;        }        vector<int> vec;        int nc=0,mc=0;        while(1)        {            if(*it1 <= *it2)            {                vec.push_back(*it1);                ++it1;                mc++;            }            else{                vec.push_back(*it2);                ++it2;                nc++;            }            if(mc == m){                copy(it2,nums2.end(),back_inserter(vec));                break;            }            if(nc == n){                copy(it1,nums1.end(),back_inserter(vec));                break;            }        }        nums1.assign(vec.begin(),vec.end());        nums1.resize(m+n);    }};

0 0
原创粉丝点击