剑指21.调整数组顺序使奇数位于偶数前面 python leetcode
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7344f635e64b60b008f7c1ae9819c404.png)
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
class Solution:
def exchange(self, nums: List[int]) -> List[int]:
left = 0
right = len(nums) - 1
while True:#注意,如果left是奇数的话,继续判定下一个是不是奇数,不是奇数才跳出循环
while left < len(nums) and nums[left] % 2 == 1:
left += 1
while right >=0 and nums[right] % 2 ==0:
right -= 1
if left >=right:
break
nums[left], nums[right] = nums[right], nums[left]
return nums