PHP 實現按奇偶排序陣列

captain2021發表於2020-04-23

題幹

給定一個非負整數陣列 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 協議》,轉載必須註明作者和本文連結
Keep Young, Keep Simple.

相關文章