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

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

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

解法:双指针

left指向数组左端0,right指向数组右端len-1

left指针往右走,遇到奇数直接+1

right指针往左走,遇到偶数直接-1

之后交换left和right各自指向的值

直到退出循环,返回array

public class Solution {

public int[] reOrderArrayTwo (int[] array) {
    // write code here
    int left=0,right=array.length-1;
    while(left<=right){
        while(left<right && array[left]%2==1) left++;
        while(left<right && array[right]%2==0) right--;
        //交换
        int temp = array[left];
        array[left] = array[right];
        array[right] = temp;
        left++;
        right--;
    }
    return array;
}

}

阿勇算法解集 文章被收录于专栏

对一些基础的,经典的题目的算法题解,每道题的题解尽量做到一题多解,举一反三。其中每一个题解中,若是参考了其他牛人的想法,我会备注出来。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务