leetcode 88: Merge Sorted Array

来源:互联网 发布:html 作为java gui 编辑:程序博客网 时间:2024/05/16 18:57
class Solution {public:    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {        queue<int> q;        int i=0,j=0;        for(i=0;i<m;i++)        {            if(!q.empty()&&(j==n||q.front()<nums2[j])&&q.front()<nums1[i])            {                q.push(nums1[i]);                nums1[i]=q.front();                q.pop();            }            else if(j!=n&&nums2[j]<nums1[i])            {                q.push(nums1[i]);                nums1[i]=nums2[j];                j++;            }        }        cout<<nums1[i-1]<<endl;        while(j!=n&&!q.empty())        {            if(nums2[j]<=q.front())            {                nums1[i]=nums2[j];                i++;                j++;            }            else            {                nums1[i]=q.front();                i++;                q.pop();            }        }        while(j!=n)        {            nums1[i]=nums2[j];            i++;            j++;        }        while(!q.empty())        {            nums1[i]=q.front();            i++;            q.pop();        }    }};

0 0