【牛客网】调整数组顺序使奇数位于偶数前面 解题报告
标签(空格分隔): 牛客网
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
Ways
可以用排序等思想,但是没有限制空间复杂度啊!直接两个奇数偶数两个数组再放到一块就行了!
# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
def isOdd(a):
return (a & 1) == 1
answer = [i for i in array if isOdd(i)]
answer.extend([i for i in array if not isOdd(i)])
return answer
方法二:
sorted()函数。
# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
return sorted(array, key = lambda x: x % 2 == 0)
Date
2017 年 8 月 30 日