戴璞微的博客

简单点!做事的动机简单点

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

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


AC代码:

import java.util.ArrayList;

public class Solution {
    public void reOrderArray(int [] array) {
        int len =array.length;
        ArrayList<Integer> odd = new ArrayList<>();
        ArrayList<Integer> even = new ArrayList<>();

        for ( int i = 0 ; i < len ; i++){
            if (array[i] % 2 == 0){
                even.add(array[i]);
            }else{
                odd.add(array[i]);
            }
        }

        int i;
        for ( i = 0 ; i < odd.size() ; i++){
            array[i] = odd.get(i);
        }
        for (int j = 0 ; j < even.size() ; j++){
            array[i++] = even.get(j);
        }
    }
}
阅读更多
版权声明:本文为博主原创文章,若需转载,请注明http://blog.csdn.net/qq_30091945 https://blog.csdn.net/qq_30091945/article/details/70513751
个人分类: 面试真题在线编程
所属专栏: 剑指offer题解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭