博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
阅读量:4101 次
发布时间:2019-05-25

本文共 643 字,大约阅读时间需要 2 分钟。

题目

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

示例:

输入:nums = [1,2,3,4]

输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一

辅助法:

class Solution(object):    def exchange(self, nums):        """        :type nums: List[int]        :rtype: List[int]        """        odd=[]        ous=[]        for idx,num in enumerate(nums):            if num%2!=0:                odd.append(num)            else:                ous.append(num)        return odd+ous

快慢指针

快指针找奇数,慢指针找偶数,找到就互换

class Solution(object):	def exchange(self,nums):		left,right=0,len(nums)-1		while(left
right): break nums[left],nums[right]=nums[right],nums[left] return nums

转载地址:http://yiwsi.baihongyu.com/

你可能感兴趣的文章
2019年百度校招面试题《Java开发工程师》
查看>>
Java 8 中的 Streams API 详解
查看>>
mysql基础优化
查看>>
MySQL约束笔记
查看>>
MySQL基础
查看>>
MySQL多表&事务基础笔记
查看>>
JDBC连接池&JDBCTemplate基础笔记
查看>>
oracle错误码及解决方法
查看>>
Oracle协议适配器错误解决办法
查看>>
张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
查看>>
小球反弹(一小球从100米自由下落)
查看>>
求1到10000所有完全数
查看>>
求数组中最大和次大的两个数
查看>>
双层嵌套list扁平化输出
查看>>
输入一行字符串,统计英文字母,数字和其他字符个数
查看>>
idea运行提示Error:java:无效的源发行版:1.9
查看>>
随机输入0到99999任意数 判断是几位数
查看>>
公鸡5块钱,母鸡3块钱,小鸡1块钱3只,有100圆,有多少种买法?
查看>>
输入3个数,判断是否构成三角形三条边
查看>>
n个人围圈报数,顺序排号,1到3报数,报3的人退出,最后留下的是原来几号?
查看>>