输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
# write code here
if (array == None):
return
if (len(array) == 1):
return array
length = len(array)
pBegin = 0
while (pBegin < length):
#找到第一个偶数
while (pBegin < length and (array[pBegin] & 0X1) != 0):
pBegin += 1
pEnd = pBegin + 1
#找到第一个奇数
while (pEnd < length and (array[pEnd] & 0X1) == 0):
pEnd += 1
if (pEnd < length):
temp = array[pEnd]
for i in range(pEnd-1,pBegin-1,-1):
array[i+1] = array[i]
array[pBegin] = temp
else:
break
return array