Skip to main content
  1. Posts/

LeetCode-922 按奇偶排序数组 II

·1 min·

LeetCode-922 按奇偶排序数组 II #

Solution 1 #

$i, j$ 分别指向奇数和偶数位置, 如果 $nums[i]$ 是奇数, 那么找到第一个为偶数的 $nums[j]$ , 交换两个位置的值.

代码如下:

class Solution:
    def sortArrayByParityII(self, nums: List[int]) -> List[int]:
        j = 1
        for i in range(0, len(nums), 2):
            if nums[i] % 2:
                while j < len(nums) and nums[j] % 2:
                    j += 2
                nums[i], nums[j] = nums[j], nums[i]
        return nums