题目描述
给一个非负整数数组A,返回一个数组:[A的所有偶数,A的所有奇数](不用排序)
举例:
输入:[3,1,2,4]
输出:[2,4,1,3]
输出结果为[4,2,3,1],[2,4,1,3],[4,2,1,3]也是对的
注意:
数组A的长度:1~5000
整数的值范围:0~5000
解决思路
- 直接在数组A上操作,遍历整个数组A,若A[i]是偶数,则将它与A[0]交换;继续,若A[i+1]是偶数,则将它与A[1]交换
代码实现
vector<int> sortArrayByParity(vector<int>& A) {
vector<int>::iterator i = A.begin();
for(auto it = A.begin(); it != A.end(); ++it)
if(*it % 2 == 0){
int temp = *i;
*i = *it;
*it = temp;
++i;
}
return A;
}
欢迎指正,如转载请注明出处