开个坑,把十一月的每日一题活动做完然后领个勋章
一、题目
二、思路
比较简单的题目,可以使用双指针的思路,一个指针
遍历数组的偶数位置,一个指针
指向下一个奇数位置
不停地判断当
位置上是奇数的时候,则与
位置上的数字交换位置,同时
;当
位置上是偶数的时候则向后移动
指针,即
三、代码
class Solution {
public:
vector<int> sortArrayByParityII(vector<int>& A) {
int next_odd = 1;
for (int current_even = 0; current_even < A.size(); current_even += 2) {
while (A[current_even] & 1) {
swap(A[current_even], A[next_odd]);
next_odd += 2;
}
}
return A;
}
};