【手把手带你刷好题】——26.按奇偶排序数组(模拟)
【摘要】
【前言】
今天是刷题打卡第26天!
很忙,正在挤时间更新。加油啦
原题:按奇偶排序数组
题目描述:
输入一个长度为 n 整数数组,数组里面不含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。...
【前言】
今天是刷题打卡第26天!
很忙,正在挤时间更新。加油啦
原题:按奇偶排序数组
题目描述:
输入一个长度为 n 整数数组,数组里面不含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
示例1:
-
输入:[1,2,3,4]
-
返回值:[1,3,2,4]
示例2:
-
输入:[2,4,6,5,7]
-
返回值:[5,7,2,4,6]
思路:
题目比较简单,另外开辟一个数组即可,不过需要注意对j 的处理
代码执行:
-
/**
-
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
-
*
-
*
-
* @param array int整型一维数组
-
* @param arrayLen int array数组长度
-
* @return int整型一维数组
-
* @return int* returnSize 返回数组行数
-
*
-
* C语言声明定义全局变量请加上static,防止重复定义
-
*/
-
int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
-
// write code here
-
int* ans = (int*)malloc(sizeof(int) * arrayLen);
-
*returnSize = arrayLen;
-
int i = 0;
-
int j = 0;
-
for(i = 0; i < arrayLen; i++)
-
{
-
if(array[i] % 2)
-
{
-
ans[j++] = array[i];
-
}
-
}
-
for(i = 0; i < arrayLen; i++)
-
{
-
if(!(array[i] % 2))
-
{
-
ans[j++] = array[i];
-
}
-
}
-
return ans;
-
}
结语
今天是刷题打卡第26天!
期待百天的到来,希望铁汁们和我一起哦,别掉队啦。
文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。
原文链接:bit-runout.blog.csdn.net/article/details/121548594
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)