题目描述
需要保证奇数和奇数,偶数和偶数之间的相对位置不变
例如:2,1,3,4,6,7,8转换为1 3 7 2 4 6 8
剑指offer提交代码:
- public class Solution {
- public void reOrderArray(int [] array) {
- int s[] = new int[array.length];
- if(array.length==0 || array == null)
- return;
- int j=0,count=0;
- for(int i=0;i<array.length;i++)
- {
- if(array[i]%2!=0)
- {
- count++;
- s[j++] = array[i];
- }
- }
- for(int i=0;i<array.length;i++)
- {
- if(array[i]%2==0)
- {
- s[count++] = array[i];
- }
- }
- for(int i=0;i<array.length;i++)
- {
- array[i] = s[i];
- }
- }
- }
本地测试代码:
package pratice712;
import java.util.Stack;
public class addAndouSort713 {
public static int[] reOrderArray(int [] array) {
int s[] = new int[array.length];
if(array.length==0 || array == null)
return array;
int j=0,count=0;
for(int i=0;i<array.length;i++)
{
if(array[i]%2!=0)
{
count++;
s[j++] = array[i];
}
}
for(int i=0;i<array.length;i++)
{
if(array[i]%2==0)
{
s[count++] = array[i];
}
}
for(int i=0;i<array.length;i++)
{
array[i] = s[i];
}
return array;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {1,2,3,4,5,6,7};
int result[] = reOrderArray(array);
for(int i=0;i<array.length;i++)
System.out.print(result[i]+" ");
}}
扫码关注一起随时随地学习!!!就在洋葱攻城狮,更多精彩,等你来!!