标签:
public class Solution { //保证奇数和奇数,偶数和偶数之间的相对位置不变。 public void reOrderArray(int [] array) { int len = array.length; for(int i=1; i<len; i++){ if(array[i] % 2 != 0){ for(int j=i; j>0; j--){ if(array[j-1] % 2 == 0){ int t = array[j]; array[j] = array[j-1]; array[j-1] = t; } } } } } }
不用保证奇数和奇数,偶数和偶数之间的相对位置不变:
public void partitionArray(int[] nums) { int left = 0; int right = nums.length-1; while(left<right){ while(nums[left]%2==1 && left<right){//从左边找偶数 left++; } while(nums[right]%2==0 && left<right){//从右边找奇数 right--; } if(left<right){// 交换 int temp = nums[left]; nums[left] = nums[right]; nums[right] = temp; left++; right--; } } }
标签:
原文地址:http://www.cnblogs.com/hesier/p/5583035.html