欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

按奇偶排序数组-数组905-python

程序员文章站 2022-07-12 08:46:57
...

python

时间复杂度和空间复杂度都是O(n)

class Solution:
    def reOrderArray(self , array ):
        # write code here
        odd = []
        even = []
        
        for num in array:
            if num % 2 == 1:
                odd.append(num)
            else:
                even.append(num)
        
        return odd + even

时间复杂度是O(n),空间复杂度是O(1)

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