輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序。
使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分。
樣例
輸入:[1,2,3,4,5]
輸出: [1,3,5,2,4]
如果額外空間不做限制的話,方法有很多。我是用的是linkedlist佇列。也可以使用陣列。
時間複雜度和空間複雜度都是o(n)。也可以用氣泡排序的思想,時間複雜度是o(n^2),空間複雜度是o(1)。
class
solution
else
}//重新填裝回陣列
int j=0;
while
(!queue1.
isempty()
) array[j++
]=queue1.
remove()
;while
(!queue2.
isempty()
) array[j++
]=queue2.
remove()
;}}
陣列–來自cyc2018
public
void
reorderarray
(int
nums)
}private
boolean
iseven
(int x)
劍指offer 調整陣列順序
時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...
劍指offer(調整陣列順序)
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。1 暴力解法 從前到位掃瞄陣列,如果出現前面是偶數後面是奇數的情況,則交換。其中使用氣泡排序的思想。從後面朝前比較,使用外迴圈控制趟...
劍指offer(十三) 調整陣列順序
題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。題解 思路簡單的解法就是,建兩個臨時陣列,乙個奇數陣列,乙個偶數陣列,最後再組合起來即可,時間複雜度為o n 一解 pub...