AcWing 32. 调整数组顺序使奇数位于偶数前面
原题链接
简单
作者:
Zh1995
,
2019-08-11 08:38:15
,
所有人可见
,
阅读 771
//方法一:开辟两个数组
class Solution {
public void reOrderArray(int [] array) {
int arr1[]=new int[1010];//偶数
int arr2[]=new int[1010];
int i1=0;
int i2=0;
for(int i=0;i<array.length;i++)
if(array[i]%2==0)
arr1[i1++]=array[i];
else
arr2[i2++]=array[i];
for(int i=0;i<i2;i++)
array[i]=arr2[i];
for(int i=0;i<i1;i++)
array[i2++]=arr1[i];
}
}
//双指针
class Solution {
public static void swap(int arr[],int i,int j)
{
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
public void reOrderArray(int [] array) {
int l=0;
int r=array.length-1;
while(l<r)
{
while(l<r && array[l]%2!=0)//奇数
l++;
while(l<r && array[r]%2==0)
r--;
if(l<r)
swap(array,l,r);
}
}
}