相对位置可能变化的情况:利用双指针left、right,左右同时遍历,左边偶数停止遍历,右边奇数停止遍历,交换left和right对应的值即可。
public class Num21_奇数位于偶数之前 {
public int[] exchange(int[] nums) {
//双指针i,j,i指向最前面,j指向最后面,i找偶数,j找奇数,找到交换即可
int i=0;
int j=nums.length-1;
while(i
2.调整数组顺序使奇数位于偶数前面且相对位置不变__牛客网
思路:利用插入排序思想,奇数不断前插即可
import java.util.*;
public class Solution {
public void reOrderArray(int [] array) {
int len=array.length;
int k=0;//记录已经排序好的奇数的个数
for(int i=0;ik){
int temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
j--;
}
//出循环奇数j就交换到了k+1位置,k++继续循环
k++;
}
}
}
}



