leetcode:Partition Array by odd and even
Posted 自朗活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode:Partition Array by odd and even相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章