调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 第一种时间空间复杂度O(N)
- 第二种空间复杂度O(1)
class Solution:
def exchange(self, nums: List[int]) -> List[int]:
#时间复杂度空间复杂度都为O(N)
# tem_1 = []
# tem_2 = []
# for num in nums:
# if num%2:
# tem_1.append(num)
# else:
# tem_2.append(num)
# result = tem_1 + tem_2
# return(result)
#双指针,空间复杂度O(1)
i, j = 0, len(nums) - 1
while i < j:
if nums[i]%2:
i+=1
else:
tem = nums[i]
nums[i] = nums[j]
nums[j] = tem
j-=1
return(nums)