题目描述:
分割一个整数数组,使得奇数在前偶数在后。
您在真实的面试中是否遇到过这个题?
Yes
样例
给定 [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
时间: 2024-10-10 15:42:41