题目描述:
分割一个整数数组,使得奇数在前偶数在后。
样例
给定 [1, 2, 3, 4]
,返回 [1, 3, 2, 4]
。
挑战
在原数组中完成,不使用额外空间。
题目分析:
挑战
在原数组中完成,不使用额外空间。
新建两个指针,一个begin指向数组[0],一个end指向[n-1]
然后循环数组,找到一个偶数,与end交换
此时end[n-1]已为偶数,所有end重指向[n-2],
源码:
class Solution:
# @param nums: a list of integers
# @return: nothing
def partitionArray(self, nums):
# write your code here
if nums is None: return None
i = 0
j = len(nums) - 1
while i<j:
if nums[i]%2 == 0:
nums[i],nums[j] = nums[j],nums[i]
j = j - 1
else:
i = i + 1