当前位置:网站首页>LeetCode-922. Sort Array By Parity II

LeetCode-922. Sort Array By Parity II

2022-08-10 15:36:00 51CTO


Given an array ​​A​​ of non-negative integers, half of the integers in A are odd, and half of the integers are even.

Sort the array so that whenever ​​A[i]​​​ is odd, ​​i​​​ is odd; and whenever ​​A[i]​​​ is even, ​​i​​ is even.

You may return any answer array that satisfies this condition.

 

Example 1:

      
      
Input: [4,2,5,7]
Output: [4,5,2,7]
Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted.
  • 1.
  • 2.
  • 3.

 

Note:

  1. ​2 <= A.length <= 20000​
  2. ​A.length % 2 == 0​
  3. ​0 <= A[i] <= 1000​

题解:

      
      
class Solution {
public:
vector < int > sortArrayByParityII( vector < int >& A) {
int n = A. size();
vector < int > odd, even;
for ( int i = 0; i < n; i ++) {
if ( A[ i] % 2 == 0) {
even. push_back( A[ i]);
}
else {
odd. push_back( A[ i]);
}
}
A. clear();
for ( int i = 0; i < n; i ++) {
if ( i % 2 == 0) {
A. push_back( even. back());
even. pop_back();
}
else {
A. push_back( odd. back());
odd. pop_back();
}
}
return A;
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

 

原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_14150327/5564023