方法一:
public class Solution {
public void reOrderArray(int [] array) {if(array.length==0)return;
if(array.length==1)return;
int []jishu=new int[array.length];
int []oushu=new int[array.length];
for(int i=0,k=0,m=0;i<array.length;i++)
{
if(array[i]%2==0) oushu[k++]=array[i];
else jishu[m++]=array[i];
}
int i=0;
for(int k=0;;k++){
if(jishu[k]!=0)array[i++]=jishu[k];
else break;
}
for(int k=0;i<array.length;k++){
array[i++]=oushu[k];
}
}
}
方法二:
class
Solution {
public
:
void
reOrderArray(vector<
int
> &array) {
for
(
int
i = 0; i < array.size();i++)
{
for
(
int
j = array.size() - 1; j>i;j--)
{
if
(array[j] % 2 == 1 && array[j - 1]%2 == 0)
//前偶后奇交换
{
swap(array[j], array[j-1]);
}
}
}
}
};