创建两个数组,一个存放奇数,一个存放偶数
然后将存放偶数的数组中的值补入奇数的数组中
int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
// write code here
*returnSize = arrayLen;
int* ret = (int*)malloc(sizeof(int)*arrayLen);
int brr[arrayLen];
int j = 0;
int bj = 0;
for(int i = 0;i
class Solution {
public:
void reOrderArray(vector &array) {
int j1 = 0;
int j2 = 0;
int arr[array.size()];
for(int i = 0;i
方法二:
遍历数组,将奇数放在前面,偶数放在后面
当遇见奇数时,将奇数前面的所有偶数向后移动 一位,然后奇数放在偶数的第一位
依次下去
C++
class Solution {
public:
void reOrderArray(vector& array) {
int k = 0;
for (int i = 0; i < array.size(); ++i) {
if (array[i] & 1) {
int temp = array[i];
int j = i;
while (j > k) {
array[j] = array[j - 1];
j--;
}
array[k++] = temp;
}
}
}
};
C
int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
// write code here
int index = 0;
for (int i = 0; i < arrayLen; i++)
{
if ((array[i]&1) == 1)
{
int tmp = array[i];
int j = i;
while (j > index)
{
array[j] = array[j-1];
j--;
}
array[index++] = tmp;
}
}
*returnSize = arrayLen;
return array;
}
第一种方法在牛客上面运行
时间:2
空间300以下



