题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class Solution {
public void reOrderArray(int [] array) {
int start=0;
int end=array.length;
for(int i=start;i<end;i++){
if(array[i]%2==1){
int j=i;
while(j>start){
//1 3 2 4 5 6 7 8
int tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
j--;
}
start++;
}
}
}
}

本文介绍了一种在保持奇数和偶数内部顺序不变的情况下,将数组中的所有奇数置于前半部分,所有偶数置于后半部分的算法实现。通过使用双指针技巧,该方法有效地完成了奇偶分离。
374

被折叠的 条评论
为什么被折叠?



