牛客網刷題 調整陣列順序使奇數字於偶數前面

2021-08-19 13:59:41 字數 554 閱讀 2823

題目說描述:

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

解答:

注意到題目要求相對位置不變,這樣的話最好用乙個輔助陣列來做。

先遍歷一遍原陣列,記錄奇數的個數,建立乙個新陣列

再遍歷一遍原陣列,遇到奇數則在新陣列前面放,偶數則再奇數個數後面(陣列後面)復放

最後交換一下陣列,讓原陣列等於輔助陣列就行了

**:

class solution 

array.swap(arr);

}};

若沒有相對位置不變這個條件,只用乙個陣列就可完成。用兩個指標,分別指向陣列前面和後面。前面的遇到偶數停下,後面的遇到奇數停下,兩者交換後繼續,**如下:

class solution 

}};

牛客網刷題之調整陣列順序使奇數字於偶數前面。

我的思路 很low void odevity swap int arr,int size int i 0 int j 0 for j 0 j牛客網解題思路 很高階 如果是強解的話,就可以從頭掃瞄這個陣列,每碰到乙個偶數時,拿出這個數字,並把位於這個數字後面的所有數字都往前挪動一位,這種解法顯然是o ...

劍指offer刷題之調整陣列順序使奇數字於偶數前面

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

刷題日記 調整陣列順序使奇數字於偶數前面

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路一 設定乙個list,逐個儲存陣列的奇數。然後把剩餘偶數接在後面 思路二 python 好 coding utf 8 ...