美文网首页
IOS 算法(基础篇) ----- 按奇偶排序数组

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

作者: ShawnAlex | 来源:发表于2020-11-13 09:37 被阅读0次

    题目: 给定一个非负整数数组 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 算法(基础篇) ----- 按奇偶排序数组

          本文链接:https://www.haomeiwen.com/subject/tgcvbktx.html