剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/
用快排的思想,设置两个指针分别从前后开始寻找偶数与奇数,找到后就进行交换直至相遇
class Solution:
def exchange(self, nums: List[int]) -> List[int]:
pre, last = 0, len(nums)-1
while pre < last:
while nums[last]&1 == 0 and last > pre:
last -= 1
while nums[pre]&1 == 1 and pre < last:
pre += 1
if pre != last:
nums[pre], nums[last] = nums[last], nums[pre]
return nums