题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
题目来源:牛客-调整数组顺序使奇数位于偶数前面
分析:
定义一个集合,分别遍历两次数组元素;
第一次遍历数组元素找出奇数的值,分别加到集合中;
第一次遍历数组元素找出偶数的值,分别加到集合中;
最后用集合中的值替换原数组元素。
代码:
import java.util.ArrayList;
public class Solution {
public void reOrderArray(int [] array) {
ArrayList<Integer> list=new ArrayList<Integer>();
for (int i = 0; i < array.length; i++) {
if (array[i]%2 != 0)
list.add(array[i]);
}
for (int i = 0; i < array.length; i++) {
if (array[i]%2 == 0)
list.add(array[i]);
}
for (int i = 0; i < array.length; i++) {
array[i]=list.get(i);
}
}
}