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();
}
}
};
leetcode 88: Merge Sorted Array
最新推荐文章于 2024-07-21 20:23:11 发布