373. 奇偶分割数组
分割一个整数数组,使得奇数在前偶数在后。
样例
给定 [1, 2, 3, 4]
,返回 [1, 3, 2, 4]
。
挑战
在原数组中完成,不使用额外空间。
class Solution {
public:
/*
* @param nums: an array of integers
* @return: nothing
*/
void partitionArray(vector<int> &nums) {
// write your code here
if(nums.size()<2) return;
int less=-1;
int more=nums.size();
int L=0;
while(L<more)
{
if(nums[L]%2!=0)
{
swap(nums[L++],nums[++less]);
}else
{
swap(nums[L],nums[--more]);
}
}
}
};
###############################################
class Solution:
"""
@param: nums: an array of integers
@return: nothing
"""
def partitionArray(self, nums):
# write your code here
if len(nums)<2:
return nums
less=-1
more=len(nums)
L=0
while L<more:
if nums[L]%2!=0:
t=nums[L]
less+=1
nums[L]=nums[less]
L+=1
nums[less]=t
else:
t=nums[L]
more-=1
nums[L]=nums[more]
nums[more]=t
return nums