马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
/*
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
你可以返回满足此条件的任何数组作为答案。
示例:
输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。
提示:
1 <= A.length <= 5000
0 <= A[i] <= 5000
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* sortArrayByParity(int* A, int ASize, int* returnSize){
int* ret_val = (int*)calloc(sizeof(int)*ASize);
int* pointer_head = NULL;
int* pointer_tail = NULL;
int i = 0;
if(ret_val==NULL)
{
*returnSize = 0;
return NULL;
}
pointer_head = ret_val;
pointer_tail = &ret_val[ASize-1];
for(i=0;i < ASize ; i ++)
{
if(A[i] % 2 == 0)
{
*pointer_head = A[i];
pointer_head ++ ;
}
else
{
*pointer_tail = A[i];
pointer_tail -- ;
}
}
*returnSize = ASize;
return ret_val;
}
/*
方案1:
执行用时 :64 ms, 在所有C提交中击败了25.23%的用户
内存消耗 :10.4 MB, 在所有C提交中击败了77.94%的用户
*/
|