输入一个整数数组, 实现一个函数来调整该数组中数字的顺序, 使得所有的奇数位于数组的前半部分, 所有的偶数位于位于数组的后半部分
C++:
- void reOrderArray(vector<int> &array) {
- int k = 0 ;
- for(int i = 0 ; i <array.size() ; i++){
- if (array[i] % 2 == 1){
- swap(array[k++] , array[i]) ;
- }
- }
- }
输入一个整数数组, 实现一个函数来调整该数组中数字的顺序, 使得所有的奇数位于数组的前半部分, 所有的偶数位于位于数组的后半部分,
并保证奇数和奇数, 偶数和偶数之间的相对位置不变.
C++:
- class Solution {
- public:
- void reOrderArray(vector<int> &array) {
- int oddNum = 0 ;
- for(int a : array){
- if (a % 2 == 1){
- oddNum++ ;
- }
- }
- int i = 0 ;
- int j = oddNum ;
- vector<int> copy = array ;
- for(int num : copy){
- if (num % 2 == 1){
- array[i++] = num ;
- }else{
- array[j++] = num ;
- }
- }
- }
- };
来源: http://www.bubuko.com/infodetail-2573291.html