劍指offer 調整陣列順序使奇數在前面

2021-10-02 01:35:42 字數 734 閱讀 6348

題目描述

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

思路

1.暴力法,定義兩個列表來分別訪問陣列中的奇數和偶數,最後按照題目要求把列表中的數重新儲存到array陣列中。

public

class

solution

else

}for

(int i=

0;isize()

;i++

)for

(int i=

0;isize()

;i++)}

}

2.使用指標記錄法,記錄當前最後乙個奇數的位置。遍歷陣列時,如果元素為奇數,則將前面的偶數元素後移,並將該奇數元素賦值到最後乙個奇數的後面乙個位置的位置。

public

class

solution

int index_odd =0;

//預設第乙個奇數的位置是0

for(

int i =

0; i < array.length; i++

) array[j]

= tmp;

index_odd = j +1;

}}}}

劍指offer 調整陣列順序

時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...

劍指offer(調整陣列順序)

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。1 暴力解法 從前到位掃瞄陣列,如果出現前面是偶數後面是奇數的情況,則交換。其中使用氣泡排序的思想。從後面朝前比較,使用外迴圈控制趟...

劍指offer(十三) 調整陣列順序

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。題解 思路簡單的解法就是,建兩個臨時陣列,乙個奇數陣列,乙個偶數陣列,最後再組合起來即可,時間複雜度為o n 一解 pub...