解题思路
博主编程萌新 目前采用的方法比较笨
1.开同大小数组res
2.设置o=0 j=1 分别表示奇位置指针 偶位置指针
3.遍历数组为奇数 赋值res[j] j+=2;为偶数赋值res[o] o+=2;
4.返回res;
public:
vector<int> sortArrayByParityII(vector<int>& A) {
for(int i=0;i<A.size();i++)
{
if(A[i]%2==0 && (i%2!=0)&&i!=(A.size()-1))
{ int t;
t=A[i];
A[i]=A[i+1];
A[i+1]=t;
}
if(A[i]%2==0 && (i%2!=0)&&i==(A.size()-1))
{
int t;
t=A[i];
A[i]=A[i-1];
A[i-1]=t;
}
}
return A;
}
};
本文介绍了一种基于数组的奇偶排序算法实现方法。通过设置两个指针,分别用于处理数组中的奇数和偶数元素,实现了将数组中所有奇数放置于偶数之间的功能。该算法首先初始化一个与原数组大小相同的结果数组res,然后遍历原数组,将奇数元素放置于res的奇数位置,偶数元素放置于res的偶数位置,最后返回处理后的res数组。
1213

被折叠的 条评论
为什么被折叠?



