题目: 给定一个非负整数数组 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 算法合集地址
网友评论