返回

剑指offer——调整数组顺序使奇数位于偶数前面

发布时间:2023-02-02 22:33:58 308

题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思想:遍历数组,将数组的值复制到另外一个数组copy中,顺便在此过程中统计数组中奇数的个数。然后遍历整个数组,如果是奇数,则复制到原数组中,否则就放到已经统计好的奇数所指的位置上

class Solution {
public:
void reOrderArray(vector &array) {
if(array.size()==0)
return ;
int size=array.size();
vector copy(size);
int numodd=0;
for(int i=0;i<size;i++){
copy[i]=array[i];
if((array[i]&1)==1)//统计奇数个数
numodd++;
}
int k=0;
for(int j=0;j<size;j++){
if((copy[j]&1)==1)//奇数
array[k++]=copy[j];
else
array[numodd++]=copy[j];
}
}
};

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
剑指offer——链表中倒数第K个节点 2023-02-02 22:07:50