JZ21 调整数组顺序使奇数位于偶数前面(一)-相对位置变化
调整数组顺序使奇数位于偶数前面(一)_牛客题霸_牛客网 (nowcoder.com)
//11
import java.util.*;
public class Solution {
public int[] reOrderArray (int[] array) {
int n=array.length;
int[] ret=new int[n];
//统计奇数个数
int count=0;
for(int i=0;i<n;i++){
if(array[i]%2==1){
count++;
}
}
int cur1=0;//奇数坐标
int cur2=count;//偶数坐标
for(int i=0;i<n;i++){
if(array[i]%2==1){
ret[cur1]=array[i];
cur1++;
}else{
ret[cur2]=array[i];
cur2++;
}
}
return ret;
}
}
// //插排思想
// //从前往后,把偶数后移,腾出位置,放入奇数
// public class Solution {
// public int[] reOrderArray (int[] array) {
// int k=0;
// for(int i=0;i<array.length;i++){
// if(array[i]%2==1){
// int tmp=array[i];
// int j=i;
// while(j>k){
// array[j]=array[j-1];
// j--;
// }
// array[k++]=tmp;
// }
// }
// return array;
// }
// }