输入一个整数数组,实现一个函数来调整该数组中数字的顺序,是的所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
# -*-coding:utf-8 -*-
# 时间复杂度为O(n)
# 空间复杂度为O(n)
class Solution:
def reOrderArray(self, array):
ret = []
for i in array:
if i % 2 == 1:
ret.append(i)
for i in array:
if i % 2 == 0:
ret.append(i)
return ret
if __name__ == '__main__':
array = [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12]
s = Solution()
print(s.reOrderArray(array))
运行结果为:
[1, 3, 5, 7, 9, 11, 2, 6, 8, 10, 12]