盡管今天狀態(tài)很不好
該做的事情還有很多
但題目該刷還是要刷
https://leetcode-cn.com/problems/sort-array-by-parity/description/
選擇沒那么多了,這道題的意思很直接哦,就是把偶數(shù)放前面氓英,奇數(shù)放后面
不過我并沒有用到排序的這個條件,并不是給的最優(yōu)解了
方法很直接
就是兩個“指針”朗儒,分別指向第一個和最后一個
如果都是奇數(shù)脓诡,就把為尾部的向前霍比,因為當(dāng)前這個位置放奇數(shù)肯定沒問題
如果第一個是奇數(shù)烟零,尾巴的是偶數(shù)瘪松,那么也很直接,就兩個數(shù)字調(diào)換一下哦锨阿,兩個指針都分別往中間靠一下
如果第一個數(shù)是偶數(shù)宵睦,那么就把頭指針繼續(xù)往后一個即可
class Solution(object):
def sortArrayByParity(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
i = 0
j = len(A)-1
while i < j:
if A[i] % 2 == 1 and A[j] % 2 == 0:
A[i],A[j] = A[j],A[i]
i+=1
j-=1
elif A[i] %2 == 1 and A[j] % 2 == 1:
j-=1
else:
i+=1
return A