1. 題目
https://leetcode-cn.com/problems/sort-array-by-parity-ii/
給定一個(gè)非負(fù)整數(shù)數(shù)組 A屈呕, A 中一半整數(shù)是奇數(shù),一半整數(shù)是偶數(shù)白魂。
對(duì)數(shù)組進(jìn)行排序弊添,以便當(dāng) A[i]
為奇數(shù)時(shí)夫壁,i
也是奇數(shù)三椿;當(dāng) A[i]
為偶數(shù)時(shí)箩兽, i
也是偶數(shù)津肛。
你可以返回任何滿足上述條件的數(shù)組作為答案。
示例:
輸入:[4,2,5,7]
輸出:[4,5,2,7]
解釋:[4,7,2,5]汗贫,[2,5,4,7]身坐,[2,7,4,5] 也會(huì)被接受刚陡。
2. 我的AC
class Solution(object):
def sortArrayByParityII(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
odds, evens = [], []
result = range(len(A))
for i in range(len(A)):
if A[i] % 2 == 1:
odds.append(A[i])
else:
evens.append(A[i])
result[::2] = evens
result[1::2] = odds
return result
3. 小結(jié)
- 列表在索引賦值之前套啤,必須確保列表非空膀斋、索引存在
result = range(len(A)) # 很重要速缆!
result[::2]