IOS 算法(基础篇) ----- 按奇偶排序数组

题目: 给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。(可以返回满足此条件的任何数组作为答案)

输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。

方法1

建立一个容器数组result 用来存放最后结果
遍历数组A, 偶数插result首位, 奇数插result末尾
返回数组result

    func sortArrayByParity(_ A: [Int]) -> [Int] {

        var result: [Int] = []
 
        for num in A {
            if num % 2 == 0 {
                result.insert(num, at: 0)
            }else if num % 2 == 1 {
                result.append(num)
            }
        }
        return result

    }

方法2

这种方法比较好想也比较好理解
建立两个容器数组result1, result2
result1 存 偶数
result2 存 奇数
返回拼接数组 result1 + result2

    func sortArrayByParity(_ A: [Int]) -> [Int] {

        var result1:[Int] = [], result2:[Int] = []

        for num in A {

            if num % 2 == 0 {
                result1.append(num)
            }else if num % 2 == 1 {
                result2.append(num)
            }

        }

        return result1 + result2
    }

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
IOS 算法合集地址

你可能感兴趣的:(IOS 算法(基础篇) ----- 按奇偶排序数组)