您的位置:首页 > 其它

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

2017-05-10 17:33 951 查看
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

为了赶时间,用了很笨但是很简单的办法,代码如下:

public class Solution {
public void reOrderArray(int [] array) {
int[] newArray = new int[array.length];
int j = 0;
for(int i =0;i<array.length;i++){
if((array[i]%2)!=0){
newArray[j] = array[i];
j++;
}
}
for(int i =0;i<array.length;i++){
if((array[i]%2)==0){
newArray[j] = array[i];
j++;
}
}
for(int i=0;i<array.length;i++){
array[i] = newArray[i];
}
}
}


另外参考了其他人的方法,更简洁一些,代码如下:

public class Solution {
public void reOrderArray(int [] array) {
for(int i= 0;i<array.length-1;i++){
for(int j=0;j<array.length-1-i;j++){
if(array[j]%2==0&&array[j+1]%2==1){
int t = array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐