給定乙個非負整數陣列 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 <= 5000
0 <= a[i] <= 5000
最笨的辦法,遍歷陣列a,把偶數放在偶數列表中,奇數放在奇數列表中,遍歷完成後,把奇數列表追加到偶數列表後。
class
solution
:def
sortarraybyparity
(self, a)
: oushu =
jishu =
for i in a:
if i %2==
0:else
:for i in jishu:
return oushu
使用雙指標的解法
class
solution
:def
sortarraybyparity
(self, a)
: left_index =
0 right_index =
1while right_index <
len(a)
:if a[left_index]%2
==0: left_index +=
1 right_index +=
1else
:if a[right_index]%2
!=0: right_index +=
1else
: a[left_index]
, a[right_index]
= a[right_index]
, a[left_index]
left_index +=
1 right_index +=
1return a
力扣每日一題 按奇偶排序陣列2
給定乙個非負整數陣列 a,a 中一半整數是奇數,一半整數是偶數。對陣列進行排序,以便當 a i 為奇數時,i 也是奇數 當 a i 為偶數時,i 也是偶數。你可以返回任何滿足上述條件的陣列作為答案。示例 2 a.length 20000 a.length 2 0 0 a i 1000 1.分別建立乙...
按奇偶排序陣列
題目 給定乙個非負整數陣列 a,返回乙個陣列,在該陣列中,a 的所有偶數元素之後跟著所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。思路1 使用雙指標法,乙個指向首元素,乙個...
按奇偶排序陣列
小周老師的思路是,以下標為0,1兩個位置出發,步長為2,遍歷列表,比如找到下標為奇值為偶時就讓另乙個位置出發找標偶值奇,再交換兩個下標的位置就大功告成啦!速度比我的方法要快一點 class solution def sortarraybyparityii self,a list int list i...