【手把手带你刷好题】——26.按奇偶排序数组(模拟)

举报
安然无虞 发表于 2022/05/26 22:59:35 2022/05/26
【摘要】 【前言】 今天是刷题打卡第26天! 很忙,正在挤时间更新。加油啦 原题:按奇偶排序数组 题目描述: 输入一个长度为 n 整数数组,数组里面不含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。...

【前言】

今天是刷题打卡第26天!

很忙,正在挤时间更新。加油啦

原题:按奇偶排序数组

题目描述:

输入一个长度为 n 整数数组,数组里面不含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

示例1:


  
  1. 输入:[1,2,3,4]
  2. 返回值:[1,3,2,4]

示例2:


  
  1. 输入:[2,4,6,5,7]
  2. 返回值:[5,7,2,4,6]

思路:

题目比较简单,另外开辟一个数组即可,不过需要注意对j 的处理

代码执行:


  
  1. /**
  2. * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
  3. *
  4. *
  5. * @param array int整型一维数组
  6. * @param arrayLen int array数组长度
  7. * @return int整型一维数组
  8. * @return int* returnSize 返回数组行数
  9. *
  10. * C语言声明定义全局变量请加上static,防止重复定义
  11. */
  12. int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
  13. // write code here
  14. int* ans = (int*)malloc(sizeof(int) * arrayLen);
  15. *returnSize = arrayLen;
  16. int i = 0;
  17. int j = 0;
  18. for(i = 0; i < arrayLen; i++)
  19. {
  20. if(array[i] % 2)
  21. {
  22. ans[j++] = array[i];
  23. }
  24. }
  25. for(i = 0; i < arrayLen; i++)
  26. {
  27. if(!(array[i] % 2))
  28. {
  29. ans[j++] = array[i];
  30. }
  31. }
  32. return ans;
  33. }

结语

今天是刷题打卡第26天!

期待百天的到来,希望铁汁们和我一起哦,别掉队啦。

文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。

原文链接:bit-runout.blog.csdn.net/article/details/121548594

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。