题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。这和书本不太一样。

解题思路

复制出一个新的数组 copy[ ],然后统计出数组奇数个数,作为新的偶数的起始索引,再设置一个奇数的索引(0),遍历复制的新数组,维护两个指针,按奇数偶数分别插入。

public void reOrderArray(int[] nums) {
// 奇数个数
int oddCnt = 0;
for (int val : nums)
if (val % 2 == 1)
oddCnt++;
int[] copy = nums.clone();
int i = 0, j = oddCnt;
for (int num : copy) {
if (num % 2 == 1)
nums[i++] = num;
else
nums[j++] = num;
}
}

最新文章

  1. ffplay 2.5.3 媒体播放器
  2. jQuery 判断表单中多个 input text 中至少有一个不为空
  3. ORA-04031案例一则
  4. 实用的两款jquery树形tree插件
  5. iptables中DNAT的配置方法
  6. vue的登陆验证及返回登录前页面实现
  7. 【转】Android,iOS打开手机QQ与指定用户聊天界面
  8. MySQL内连接、外连接、交叉连接
  9. linux上限值网速、限值带宽
  10. BZOJ 4765 普通计算姬 (分块 + BIT)
  11. IAM页面是在统一区分配的还是在混合区分配的?
  12. 给本地服务器配置py文件的下载功能
  13. ML-DL-各种资源汇总
  14. mysqladmin常用用法
  15. Python学习 :常用模块(三)----- 日志记录
  16. Unity教程之-UGUI一个优化效率小技巧
  17. 【Splay】bzoj3223 Tyvj 1729 文艺平衡树
  18. js 正则表达式简易教程
  19. 洛谷 P3690 Link Cut Tree
  20. jQuery下拉列表操作(转)

热门文章

  1. 【团队项目3】需求改进&系统设计
  2. [b0003] 总览:Hadoop 个人学习路线进展
  3. SparkStreaming wordCountDemo基础案例
  4. linux软件管理-RPM
  5. Linux同一机器设置多个IP2019-7-6
  6. 2019 Multi-University Training Contest 1 E Path(最短路+最小割)
  7. ar 归档
  8. ACM-单向链表插入排序算法(在原链表上操作)
  9. Web-babyphp
  10. 电商网站名词item-->SKU与SPU