教练使用整数数组 actions
记录一系列核心肌群训练项目编号。为增强训练趣味性,需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以 数组 形式返回。
示例 1:
输入:actions = [1,2,3,4,5]
输出:[1,3,5,2,4]
解释:为正确答案之一
提示:
0 <= actions.length <= 50000
0 <= actions[i] <= 10000
思路:
1、利用双指针,从前往后找到一个偶数,从后往前找到一个奇数,交换两者的值,
2、返回交换后的数组。
代码实现:
class Solution {
public:
vector<int> trainingPlan(vector<int>& actions) {
int left = 0, right = actions.size() - 1;
while(left < right)
{
while(left < right && actions[left] % 2 == 1)
++left;
while(left < right && actions[right] % 2 == 0)
--right;
swap(actions[left], actions[right]);
}
return actions;
}
};