题目描述
给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。
返回满足此条件的 任一数组 作为答案。
示例 1:
输入:nums = [3,1,2,4]
输出:[2,4,3,1]
解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。
示例 2:
输入:nums = [0]
输出:[0]
提示:
1 <= nums.length <= 5000
0 <= nums[i] <= 5000
代码
package dayLeetCode;
import java.util.ArrayList;
import java.util.List;
public class dayleetcode905 {
public int[] sortArrayByParity(int[] nums) {
int[] ans = new int[nums.length];
int k = 0;
for (int num : nums){
if (num % 2 == 0){
ans[k++] = num;
}
}
for (int num : nums){
if (num % 2 == 1){
ans[k++] = num;
}
}
// 将list转换为int[]
// return list.stream().mapToInt(Integer::intValue).toArray();
return ans;
}
public static void main(String[] args) {
dayleetcode905 obj = new dayleetcode905();
int[] nums = {3191,867,3054,3063,3525,2561,1422,4388,1765,2291,3160,2581,4783,4774,4649,4671,2905,2451,3521,1077,1329,219,814,19,3273,702,3934,3403,4854,1982,4607,2268,1697,511,4415,3974,1614,2279,1626,144,221,1843,1048,2623,939,1008,3364,3678,1561,4300,1273,1720,3563,222,4671,361,2305,3623,237,4045,4895,2303,590,407,493,3827,2070,4597,2203,385,2135,3774,4147,196,902,2450,640,
4356,4673,1598,2174,2785,1427,2705,1006,1483,2209,3023,2681,1305,1159,593,3918,494,3665,1244,1423,3681,3298,3710};
int[] ans = obj.sortArrayByParity(nums);
for (int num : ans){
System.out.println( num);
}
}
}