解法一:插入排序思想
记录已经是奇数的位置下标(视作为有序区域),然后向后遍历,一经发现是奇数则进行“插入排序”,然后有序区下标加1。
Java参考代码:
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数组 * @return int整型一维数组 */ //使用插入排序的思想 public int[] reOrderArray (int[] array) { // 首先是对数值长度进行特判 if(array==null||array.length==0) return array; //记录已经是奇数的位置 int j=0; int temp = 0; for(int i =0;i<array.length;i++){ temp = array[i]; //如果该值为偶数 if(array[i]%2==0){ continue; }else{//该值为奇数 int k =i; while(k>j){ //这区间整体向后移动一位 array[k] = array[k-1]; k--; } //移位之后将对应的值赋值