Leetcode PHP题解--D16 922. Sort Array By Parity II


922. Sort Array By Parity II

题目链接

922. Sort Array By Parity II

题目分析

给定一个整数数组A,使数组中偶数位的值为偶数,奇数位的值为奇数。

例如,A[0],0是偶数,所以A[0]要为偶数。A[1],1是奇数,所以A[1]要为奇数。

思路

array_filter 拆分数组中的偶数和奇数,再轮流塞进新数组中。

最终代码

<?php
class Solution {
    function sortArrayByParityII($A) {
        $odd = array_filter($A, function($val){
            return ($val&1); 
        });
        $odd = array_values($odd);
        $even = array_filter($A, function($val){
            return (!($val&1)); 
        });
        $even = array_values($even);
        $a = [];
        foreach($odd as $key => $o){
            $a[] = $even[$key];
            $a[] = $o;
        }
        return $a;
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: Leetcode No.268 Missing Number(缺失数字)

>> 下一篇: Leetcode之PHP版题目解析(189. Rotate Array)