劍指offer____調整陣列順序使奇數位於偶數前面
阿新 • • 發佈:2018-11-11
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
class Solution { public: void reOrderArray(vector<int> &array) { int len = array.size(); if(len <= 1) return; int left = 0; int right = len - 1; int *swap=(int *)malloc(sizeof(int)*len); if(swap == NULL) return; int i = 0; int j = len - 1; while(left < len && right >-1) { if(array[left]%2 != 0) { swap[i++] = array[left]; } if(array[right]%2 == 0) { swap[j--]= array[right]; } left++; right--; } for(int k = 0; k < len; ++k) { array[k]=swap[k]; } free(swap); swap = NULL; } };