题解 | #调整数组顺序使奇数位于偶数前面(二)#

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

http://www.nowcoder.com/practice/0c1b486d987b4269b398fee374584fc8

思路很简单,双指针,从数组两头向中间靠近。左边的为奇数指针,右边的为偶数指针。左边指针在没有遇到偶数时,就向右移动,遇到偶数立即停止;右边指针再没有遇到奇数时,向左边移动,遇到奇数时,进行奇偶指针元素交换。交换之后切换到奇数指针工作。这个方法只遍历一遍数组,时间o(n),空间o(1)。

import java.util.*;
public class Solution {
    public int[] reOrderArrayTwo (int[] array){
         int low = 0;
         int high = array.length-1;
         while(low<high){
             while(low<high&&array[low]%2==1)++low;
             while(low<high&&array[high]%2==0)--high;
             if(low<high){
                  int temp = array[low];
                 array[low] = array[high];
                 array[high] = temp;
             }
         }
        return array;
    }
}
全部评论
while(low
点赞 回复 分享
发布于 2021-12-17 17:48
[1,3,5]指针会越界。
点赞 回复 分享
发布于 2021-12-06 15:25

相关推荐

点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
评论
17
1
分享

创作者周榜

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