题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。
解题思路:
分别从前后遍历数组,将前面的偶数与后面的奇数交换位置即可
class Solution:
def exchange(self, nums: List[int]) -> List[int]:
l,r=0,len(nums)-1
while(l<r):
if nums[l]%2==0 and nums[r]%2==1:
nums[l],nums[r]=nums[r],nums[l]
l+=1
r-=1
if nums[l]%2==1:
l+=1
if nums[r]%2==0:
r-=1
return nums