LeetCode0905 按奇偶排序陣列

2021-10-08 21:59:30 字數 1095 閱讀 3395

一. 題目

題目給定乙個非負整數陣列 a,返回乙個陣列,在該陣列中, a 的所有偶數元素之後跟著所有奇數元素。

你可以返回滿足此條件的任何陣列作為答案。

示例

二. 方法一

解題思路

建立兩個列表, 分別儲存奇數和偶數, 再拼接在一起即可

解題**

def

sortarraybyparity

(self, a: list[

int])-

> list[

int]

: odd =

even =

for ele in a:

if ele %2==

0:else

:return even + odd

分析時間複雜度: o(n)

空間複雜度: o(n)

三. 方法二

解題思路

在原來的列表中進行變換

解題**

def

sortarraybyparity

(self, a: list[

int])-

> list[

int]

: left, right =0,

len(a)-1

while

true

:if left < right:

while a[left]%2

==0and left < right:

left +=

1while a[right]%2

==1and left < right:

right -=

1 a[left]

, a[right]

= a[right]

, a[left]

else

:break

return a

分析時間複雜度: o(n)

空間複雜度: o(1)

LeetCode 按奇偶排序陣列

給定乙個非負整數陣列a,返回乙個由a的所有偶數元素組成的陣列,後面跟a的所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。1 a.length 50000 a i 5000cl...

Leetcode 按奇偶排序陣列

給定乙個非負整數陣列a,返回乙個由a的所有偶數元素組成的陣列,後面跟a的所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。1 a.length 50000 a i 5000in...

LeetCode 按奇偶排序陣列 II

給定乙個非負整數陣列a,a 中一半整數是奇數,一半整數是偶數。對陣列進行排序,以便當a i 為奇數時,i也是奇數 當a i 為偶數時,i也是偶數。你可以返回任何滿足上述條件的陣列作為答案。示例 輸入 4,2,5,7 輸出 4,5,2,7 解釋 4,7,2,5 2,5,4,7 2,7,4,5 也會被接...