【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:[email protected]】
题目链接:https://leetcode.com/problems/merge-sorted-array/
题意:
给定两个已经排好序的数组,然后要你把第二个数组合并到第一个去
思路:
先用两个标记指向两个数组的第一个,然后一边比较,取小的放入新数组,一直移动标记直到最后去玩
class Solution { public: void merge(vector<int>& a, int m, vector<int>& b, int n) { vector<int> ans; int x = 0,y = 0; while(x<m&&y<n)//直到其中一个取完 { if(a[x]<b[y]) ans.push_back(a[x++]); else ans.push_back(b[y++]); } while(x<m)//b取完a没取完 ans.push_back(a[x++]); while(y<n)//a取完b没取完 ans.push_back(b[y++]); swap(ans,a); } };
版权声明:本文为博主原创文章,如果转载,请注明出处
时间: 2024-11-06 09:39:46