输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:新建一个数组先把原数组中的奇数push进去再把偶数push进去,然后用新数组数据覆盖原数组即可
复杂度O(n),用空间换时间
class Solution { public: void reOrderArray(vector<int> &array) { vector<int> res; for(int i = 0; i < array.size(); i++) { if(array[i] % 2 == 1) res.push_back(array[i]); } for(int i = 0; i < array.size(); i++) { if(array[i] % 2 == 0) res.push_back(array[i]); } array = res; } };
时间: 2024-10-05 00:27:09