首页 > 代码库 > LintCode Python 简单级题目 373.奇偶分割数组
LintCode Python 简单级题目 373.奇偶分割数组
题目描述:
分割一个整数数组,使得奇数在前偶数在后。
您在真实的面试中是否遇到过这个题?
Yes
样例
给定 [1, 2, 3, 4]
,返回 [1, 3, 2, 4]
。
挑战
在原数组中完成,不使用额外空间。
标签
两根指针 数组
题目分析:
挑战
在原数组中完成,不使用额外空间。
新建两个指针,一个begin指向数组[0],一个end指向[n-1]
然后循环数组,找到一个偶数,与end交换
此时end[n-1]已为偶数,所有end重指向[n-2],
源码:
class Solution: # @param nums: a list of integers # @return: nothing def partitionArray(self, nums): # write your code here if nums is None: return None i = 0 j = len(nums) - 1 while i<j: if nums[i]%2 == 0: nums[i],nums[j] = nums[j],nums[i] j = j - 1 else: i = i + 1
LintCode Python 简单级题目 373.奇偶分割数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。