调整数组顺序使奇数位于偶数前面(使用辅助数组,C语言)
调整数组顺序使奇数位于偶数前面
http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593
使用辅助数组,双指针,遍历一遍数组即可
int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
// write code here
int *result = (int*)malloc(arrayLen*sizeof(int));
int *head = result;
int *tail = result + arrayLen - 1;
for(int i = 0; i < arrayLen; ++i)
{
if (array[i] % 2 == 1) *head++ = array[i]; //从前往后找奇数,放到result
if (array[arrayLen-1-i] % 2 == 0) *tail-- = array[arrayLen-1-i]; //从后往前找偶数
}
*returnSize = arrayLen;
return result;
}
查看13道真题和解析
