剑指offer(十四)之调整数组顺序使奇数位于偶数前面
2016-04-18 12:24
351 查看
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变
思路分析:
创建两个ArrayList对象,一个存放数组奇元素,一个存放数组偶元素,最后再重新放入数组中。
import java.util.*;
public class Solution {
public void reOrderArray(int [] array) {
int len=array.length;
ArrayList list1=new ArrayList();
ArrayList list2=new ArrayList();
for(int i=0;i<len;i++){
if(array[i]%2==0){
list2.add(array[i]);
}else{
list1.add(array[i]);
}
}
int len1=list1.size();
int len2=list2.size();
for(int k=0;k<len1;k++){
array[k]=(int)list1.get(k);
}
for(int k=0;k<len2;k++){
array[len1+k]=(int)list2.get(k);
}
}
}
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变
思路分析:
创建两个ArrayList对象,一个存放数组奇元素,一个存放数组偶元素,最后再重新放入数组中。
import java.util.*;
public class Solution {
public void reOrderArray(int [] array) {
int len=array.length;
ArrayList list1=new ArrayList();
ArrayList list2=new ArrayList();
for(int i=0;i<len;i++){
if(array[i]%2==0){
list2.add(array[i]);
}else{
list1.add(array[i]);
}
}
int len1=list1.size();
int len2=list2.size();
for(int k=0;k<len1;k++){
array[k]=(int)list1.get(k);
}
for(int k=0;k<len2;k++){
array[len1+k]=(int)list2.get(k);
}
}
}
相关文章推荐
- WebSocket connection to 'ws://.../sockjs/pushWords/635/78epgvv8/websocket'
- webStorm 开启NodeJs Core library 使用
- 聊聊2016年前端学习计划
- AngularJS入门教程之AngularJS指令
- 继续说一下openjson 以及 json path 的使用 (2)
- JQuery获取文件大小
- 数据持久化之preference
- 比较正宗的验证邮箱的正则表达式js代码详解
- 158 js timer函数
- 前端不为人知的一面--前端冷知识集锦(转)
- Node.js中使用Markdown
- AngularJS入门教程之AngularJS表达式
- [ASP.NET MVC] Real-time之HTML5 服务器发送事件(server-sent event)
- json 解析 -转载
- json接口
- 校验手机号/座机号的表单
- ButterKnife--View注入框架
- 高效Web开发的10个jQuery代码片段
- javascript代码调试技巧
- 黄聪:Access-Control-Allow-Origin,JS跨域解决办法