劍指offer13 調整陣列使奇數在偶數前面

2021-10-19 02:34:04 字數 449 閱讀 4780

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。

對於乙個需要按順序或者顛倒順序的題,首先就應該想到使用佇列或者棧來實現。(直接用兩個陣列實現也是一樣)

本題需要按順序,因此用2個佇列來將所有奇數和偶數分開,再一次彈回即可。

實現:

class

solution

else

q2.push

(array[i]);

}int j=0;

while

(!q1.

empty()

)while

(!q2.

empty()

)}};

時間複雜度和空間複雜度都是o(n)

劍指Offer13 調整陣列順序使奇數字於偶數前面

思路 依次判斷每個元素,若是奇數則放到odd列表中,若是偶數則放到even列表中。然後將兩個列表合併再返回。coding utf 8 class solution def reorderarray self,array write code here odd even x len array for...

劍指Offer13 調整陣列順序使奇數字於偶數前面

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。建立雙向佇列,遍歷陣列,奇數前插入,偶數後插入。最後使用assign方法實現不同容器但相容的型別賦值。知識點一 c 借助雙向佇列能從...

劍指offer 13 調整陣列中的偶數到奇數後面

1 冒泡解法 穩定 2 輔助陣列 穩定 3 兩個指標 不穩定 include include using namespace std class solution bool label false for int i 0 i array.size i if label false 輔助陣列完成 vo...