
- import java.util.*;
-
-
- public class Solution {
- /**
- * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- *
- *
- * @param array int整型一维数组
- * @return int整型一维数组
- */
- public int[] reOrderArrayTwo (int[] array) {
-
- if(array == null || array.length == 0){
- return array;
- }
-
- // write code here
- //偶数下标
- int findOddIndex = 0;
- //奇数下标
- int findEvenIndex = array.length - 1;
-
- while(findOddIndex < findEvenIndex){
- //从左向右找,找第一个偶数
- while(findOddIndex < findEvenIndex){
- if(array[findOddIndex] % 2 == 0){
- break;
- }
- findOddIndex++;
- }
-
- //从右向作找,找第一个奇数
- while(findOddIndex < findEvenIndex){
- if(array[findEvenIndex] % 2 != 0){
- break;
- }
- findEvenIndex--;
- }
-
- //左边的偶数和右边的奇数交换位置
- if(findOddIndex < findEvenIndex){
- int temp = array[findOddIndex];
- array[findOddIndex] = array[findEvenIndex];
- array[findEvenIndex] = temp;
- }
- }
-
- return array;
- }
- }
- import java.util.*;
-
-
- public class Solution {
- /**
- * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- *
- *
- * @param array int整型一维数组
- * @return int整型一维数组
- */
- public int[] reOrderArrayTwo (int[] array) {
- // write code here
-
- if(array == null || array.length == 0 || array.length == 1){
- return array;
- }
-
- int left = 0;
- int right = array.length - 1;
-
- while(left < right){
- if(array[left]%2 == 0 && array[right]%2 == 1){
- int temp = array[left];
- array[left] = array[right];
- array[right] = temp;
- left++;
- right--;
- }
-
- if(array[left]%2 == 1){
- left++;
- }
- if(array[right]%2 == 0){
- right--;
- }
- }
-
- return array;
- }
- }