按奇偶排序数组
程序员文章站
2023-12-24 18:08:09
题目链接题目描述给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A.length <= 20000A.length % 2 == 00 <= A[i] <=...
题目链接
题目描述
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。
示例:
输入:[4,2,5,7]
输出:[4,5,2,7]
解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。
提示:
2 <= A.length <= 20000
A.length % 2 == 0
0 <= A[i] <= 1000
思路
简单题,双指针记录奇数下标、偶数下标即可。
代码如下:
class Solution {
public:
vector<int> sortArrayByParityII(vector<int>& A) {
int ji=1,ou=0,len=A.size();
vector<int> ans(len);
for(int i=0;i<len;i++){
if(A[i]%2!=0&&ji<len){
ans[ji]=A[i];
ji+=2;
}
if(A[i]%2==0&&ou<len){
ans[ou]=A[i];
ou+=2;
}
}
return ans;
}
};
本文地址:https://blog.csdn.net/weixin_44164489/article/details/109646076