思路:
依次判斷每個元素,若是奇數則放到odd列表中,若是偶數則放到even列表中。
然後將兩個列表合併再返回。
# -*- coding:utf-8 -*-]
class solution:
def reorderarray(self, array):
# write code here
odd=
even=
x=len(array)
for i in range(x):
if array[i]%2!=0:
if array[i]%2==0:
return odd+even
將odd定義為佇列,從列表尾部開始判斷元素是否為奇數,若是則從左邊插入到佇列odd。從列表首部開始判斷元素是否為偶數,若是則插入到佇列,最終返回odd
# -*- coding:utf-8 -*-]
from collections import deque
class solution:
def reorderarray(self, array):
# write code here
odd=deque()
x=len(array)
for i in range(len(array)):
if array[x-i-1]%2!=0:
if array[i]%2==0:
return list(odd)
直接學習的好思路 劍指Offer13 調整陣列順序使奇數字於偶數前面
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。建立雙向佇列,遍歷陣列,奇數前插入,偶數後插入。最後使用assign方法實現不同容器但相容的型別賦值。知識點一 c 借助雙向佇列能從...
劍指offer 調整陣列順序
時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...
劍指offer(調整陣列順序)
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。1 暴力解法 從前到位掃瞄陣列,如果出現前面是偶數後面是奇數的情況,則交換。其中使用氣泡排序的思想。從後面朝前比較,使用外迴圈控制趟...