题目描述:
题解一:
创建两个list,遍历nums,如果当前是奇数,加入第一个list,否则加入第二个,然后将list2加在list1之后。
class Solution(object): def exchange(self, nums): list1 = [] list2 = [] for num in nums: if num%2==1: list1.append(num) else: list2.append(num) list1 = list1+list2 return list1
题解二:双指针
1.left=0 right=len(nums)-1
2.如果nums[left]为奇数,left++,如果nums[right]为偶数,right--,否则交换nums[left] nums[right]的值,直到left=right
class Solution(object): def exchange(self, nums): left = 0 right = len(nums)-1 while right>left: if nums[left]%2==1: left = left+1 elif nums[right]%2==0: right = right-1 else: temp = nums[left] nums[left] = nums[right] nums[right] = temp left = left+1 right = right-1 return nums