11、调整数组顺序使奇数位于偶数前面

题目

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

思路

题目明确说了,不能修改相对位置,所以只能是用以下的新建两个数组,一个奇数数组,一个偶数数组

然后把奇数和偶数分别保存到对应的数组,然后在赋值到原数组中

代码

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        ArrayList<Integer> odd = new ArrayList<>();
        ArrayList<Integer> even = new ArrayList<>();
        for(int i=0;i<array.length;i++){
            if(array[i]%2==1){
                odd.add(array[i]);
            }else{
                even.add(array[i]);
            }
        }
        for(int i=0;i<odd.size();i++){
            array[i]=odd.get(i);
        }
        for(int i=0;i<even.size();i++){
            array[odd.size()+i]=even.get(i);
        }
    }
}
全部评论

相关推荐

01-04 21:30
已编辑
河南工业大学 Java
27届学院本誓死冲击...:下次再发把个人信息隐藏掉,以防有心之人。相关课程删了,荣誉奖项只留蓝桥杯,把蓝桥杯写到教育经历里,按教育经历、实习经历、项目经历、专业技能这个顺序排版
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务