劍指offer(13) 調整陣列順序使奇數位於偶數前面
阿新 • • 發佈:2018-12-11
題目描述
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
解題思路
程式碼的完整性
這個題呢,需要調整奇偶數的順序,而且原先的相對位置不變。
頭指標從左向右遍歷,直至遇到第一個偶數,將偶數取出,尾插到陣列中。
class Solution { public: void reOrderArray(vector<int> &array) { vector<int>::iterator even = array.begin(); int size=array.size(); if(size<=1) return ; while(size) { if(*even%2==0) { int tmp=*even; array.erase(even); array.push_back(tmp); } else even++; size--; } } };