題幹
給定一個非負整數陣列 A,返回一個陣列,在該陣列中, A 的所有偶數元素之後跟著所有奇數元素。
你可以返回滿足此條件的任何陣列作為答案。
示例:
輸入:[3,1,2,4]
輸出:[2,4,3,1]
輸出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也會被接受。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/sort-arra...
其實就是順序遍歷,相鄰兩個元素進行比較,奇偶不同則互換位置,奇偶相同保持不動。
PHP 實現:
function sortArrayByParity($nums)
{
$count = count($nums);
if ($count <= 0) {
return 0;
}
$i = -1;
for ($j = 0; $j < $count; $j++) {
if ($nums[$j] % 2 !== 0) {
$i++;
// 原地交換
list($nums[$i], $nums[$j]) = [$nums[$j], $nums[$i]];
}
}
return $nums;
}
return sortArrayByParity([6,3,2,1,4]); // output: [3,1,2,6,4]
主要跟著 @三斤和他的喵 使用者學的一些
更多文章參閱 何曉東 部落格
本作品採用《CC 協議》,轉載必須註明作者和本文連結