⭐️
# 題目敘述
Given an integer array nums
, move all the even integers at the beginning of the array followed by all the odd integers.
Return any array that satisfies this condition.
# Example 1
Input: nums = [3,1,2,4]
Output: [2,4,3,1]
Explanation: The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.
# Example 2
Input: nums = [0]
Output: [0]
# 解題思路
- 用
for
迴圈遍歷int[] nums
- 利用
deque
資料結構- 若遇到數值為偶數的,利用
addFirst()
至於 deque 前面 - 若遇到數值為奇數的,利用
addLast()
至於 deque 後面
- 若遇到數值為偶數的,利用
- 最後將
deque
轉成int[]
輸出
# Solution
import java.util.Deque; | |
import java.util.LinkedList; | |
class Solution { | |
public int[] sortArrayByParity(int[] nums) { | |
Deque<Integer> dq = new LinkedList<>(); | |
for(int num : nums){ | |
if(num % 2 == 0){ | |
dq.addFirst(num); | |
}else{ | |
dq.addLast(num); | |
} | |
} | |
return dq.stream().mapToInt(Integer::intValue).toArray(); | |
} | |
} |
單字
** **
!! !!
片語 & 搭配詞
!! !!