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

  • Post author:
  • Post category:python



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



版权声明:本文为VaccyZhu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。