题目
关键词
双指针
代码记录
方法二 双指针
#include <vector>
#include <iostream>
class Solution {
public:
std::vector<int> sortArrayByParityII(std::vector<int>& A) {
int len=A.size();
int odd=1;
for (int even=0;even<len;even+=2)
{
if(A[even]%2!=0)
{
while(A[odd]%2==1)
{
odd +=2;
}
std::swap(A[even],A[odd]);
}
}
return A;
}
};
int main()
{
std::vector<int> a={1,2,3,4};
std::vector<int> res;
Solution sol;
res=sol.sortArrayByParityII(a);
std::vector<int>::iterator ite=res.begin();
for (;ite!=res.end();ite++)
{
std::cout<< *ite << ' ';
}
return 0;
}