整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面

http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593

public class Solution {
public void reOrderArray(int [] array) {
if (array.length<=1){
return;
}
int l=-1;//奇数范围
int i=0;//当前指针
while (i<array.length) {
if(array[i]%2==1){
if(i-l<=2){
swap(array,i++,++l);//间距小于2,直接互换
}else {
for (int j = i-1; j >l ; j--) {
swap(array,j,j+1);//间距大于2,依次互换
}
l++;//换完范围扩1
}

        }else {
            i++;//偶数只增加指针
        }
    }
}
public void swap(int[] arr,int i,int j){
    int tmp=arr[i];
    arr[i]=arr[j];
    arr[j]=tmp;
}

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务