Partition Array by Odd and Even

来源:互联网 发布:电脑绘画卡通人物软件 编辑:程序博客网 时间:2024/06/02 03:24

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

Have you met this question in a real interview? Yes
Example
Given [1, 2, 3, 4], return [1, 3, 2, 4]

java

public class Solution {    /*     * @param nums: an array of integers     * @return: nothing     */    public void partitionArray(int[] nums) {        // write your code here        if (nums == null || nums.length == 0 || nums.length == 1) {            return;        }        int left = 0;        int right = nums.length - 1;        while (left <= right) {            while (left <= right && nums[left] % 2 != 0) {                left++;            }            while (left <= right && nums[right] % 2 == 0) {                right--;            }            if (left <= right) {                int temp = nums[left];                nums[left] = nums[right];                nums[right] = temp;                left++;                right--;            }        }    }}

python

class Solution:    """    @param: nums: an array of integers    @return: nothing    """    def partitionArray(self, nums):        # write your code here        if nums == None or len(nums) == 0 or len(nums) == 1:            return        left, right = 0, len(nums) - 1        while left <= right:            while left <= right and nums[left] % 2 != 0:                left += 1            while left <= right and nums[right] % 2 == 0:                right -= 1            if left <= right:                nums[left], nums[right] = nums[right], nums[left]
阅读全文
0 0
原创粉丝点击