题目
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000
代码
一道简单的题好像没必要花里胡哨…
关于list转为int型数组的方法想了一会好像没有(x
下次的话…还是老老实实用额外数组吧
麻烦一点的话, 快排其实很不错的(
class Solution {
public int[] exchange(int[] nums) {
List<Integer> a = new ArrayList<>();
List<Integer> b = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
if(nums[i] % 2 != 0){
a.add(nums[i]);
}else {
b.add(nums[i]);
}
}
a.addAll(b);
return a.stream().mapToInt(Integer::intValue).toArray();
}
}