调整数组顺序使奇数位于偶数前面(使用辅助数组,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; }