输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分

 

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 };

 

相关文章:

猜你喜欢
  • 2022-01-07
  • 2022-12-23
  • 2022-02-23
  • 2021-05-10
相关资源
相似解决方案