publicstaticint[]sortArrayByParity(int[]A){int[] res =newint[A.length];int left =-1;int right =A.length;for(int i =0; i <A.length; i++){if(A[i]%2==0){
res[++left]=A[i];}else{
res[--right]=A[i];}}return res;}publicstaticvoidmain(String[] args){System.out.println(Arrays.toString(sortArrayByParity(newint[]{1,-2,-3})));}
双指针
classSolution{publicint[]sortArrayByParity(int[]A){int left =0;int right =A.length -1;// 中间不用管while(left < right){while(left < right &&A[left]%2==0){// 第一个奇数
left++;}while(left < right &&A[right]%2!=0){// 第一个偶数
right--;}if(left < right){int temp =A[left];A[left]=A[right];A[right]= temp;}}returnA;}}
题目来源LEETCODE题目描述题目解答 public static int[] sortArrayByParity(int[] A) { int [] res = new int[A.length]; int left = -1; int right = A.length; for (int i = 0; i &...