今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426 具体的题目可以去牛客网对应专题去找。
每天一道剑指offer-调整数组顺序使奇数位于偶数前面 来源:牛客网对应专题
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路
代码
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);//把偶数数组赋值到后面
}
}
}
代码截图(为了避免代码排版错乱)