输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分
C++:
1 void reOrderArray(vector<int> &array) { 2 int k = 0 ; 3 for(int i = 0 ; i < array.size() ; i++){ 4 if (array[i] % 2 == 1){ 5 swap(array[k++] , array[i]) ; 6 } 7 } 8 }
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,
并保证奇数和奇数,偶数和偶数之间的相对位置不变。
C++:
1 class Solution { 2 public: 3 void reOrderArray(vector<int> &array) { 4 int oddNum = 0 ; 5 for(int a : array){ 6 if (a % 2 == 1){ 7 oddNum++ ; 8 } 9 } 10 int i = 0 ; 11 int j = oddNum ; 12 vector<int> copy = array ; 13 for(int num : copy){ 14 if (num % 2 == 1){ 15 array[i++] = num ; 16 }else{ 17 array[j++] = num ; 18 } 19 } 20 } 21 };