码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode:Partition Array by odd and even

时间:2016-03-29 18:05:33      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

1、

  Partition an integers array into odd number first and even number second.

     Given [1, 2, 3, 4], return [1, 3, 2, 4]

2、思路

  1、通过两次遍历,不合算。

  2、一次遍历,一个从头,一个从尾,如果碰到偶数,兑换位置,此方法为排序。

3、

  

  public void partitionArray(int[] nums) {
       int start = 0, end = nums.length - 1;
            while (start < end) {
          //奇数的位置
while (start < end && nums[start] % 2 == 1) { start++; }
         //偶数的位置
while (start < end && nums[end] % 2 == 0) { end--; }
        //如果碰到偶数,调换位置,
if (start < end) { int temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; } } }

 

leetcode:Partition Array by odd and even

标签:

原文地址:http://www.cnblogs.com/zilanghuo/p/5333893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!