import java.util.*;
public class Main {
public int[] solution2(int[] arr,int n) {
int[] a = new int[n];
int j = 0;
for(int i=0;i<n;i++){
if(arr[i] % 2 == 1){
a[j++] = arr[i];
}
}
for(int i=0;i<n;i++){
if(arr[i] % 2 == 0){
a[j++] = arr[i];
}
}
return a;
}
public int[] solution(int[] arr,int n) {
int i,j,k;
if(n<=0){
return arr;
}
if (arr[0] % 2 == 1)
{
j = 0;
while (j<n && arr[j] % 2 == 1)
{
j++;
}
if (j == n)
{
return arr;
}
k = j;
while (k<n && arr[k] % 2 == 0)
{
k++;
}
if (k == n)
{
return arr;
}
//偶数后的第一个奇数
int t = arr[k];
i = k-1;
while (i>=0 && arr[i]%2==0)
{
arr[i+1] = arr[i];
i--;
}
arr[i+1] = t;
k++;
while (k<n)
{
if (arr[k] %2 ==0)
{
k++;
}
else
{
t = arr[k];
i = k-1;
while (i>=0 && arr[i]%2==0)
{
arr[i+1] = arr[i];
i--;
}
arr[i+1] = t;
k++;
}
}
}
else
{
//2,3,4,5,6,7,8
k = 0;
while (k<n && arr[k] % 2 == 0)
{
k++;
}
if (k==n)
{
return arr;
}
//偶数后的第一个奇数
int t = arr[k];
i = k-1;
while (i>=0 && arr[i]%2==0)
{
arr[i+1] = arr[i];
i--;
}
//插入到首位
arr[i+1] = t;
k++;
while (k<n)
{
if (arr[k] %2 ==0)
{
k++;
}
else
{
t = arr[k];
i = k-1;
while (i>=0 && arr[i]%2==0)
{
arr[i+1] = arr[i];
i--;
}
arr[i+1] = t;
k++;
}
}
}
return arr;
}
}