leetcode刷题简单题1,7,9
leetcode
力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。
此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化。
1,两数之和
开始之前,分享一条网友评论:
话不多说,开始吧。
这道题直接用字典来写,就可以解决,并且简单,我还写过另外一种方法,不过后面没保存,就换了字典的写法。
如下:
class Solution:
def twoSum(self,nums,target):
dic={}
for i,num in enumerate(nums):
if target-num in dic:
return [dic[target-num],i]
else:
dic[num]=i#两数相加
代码很简单,结果也就那样吧,即使我想优化也想不出其它方法了。
7,整数反转
这道题有一个大坑:
要在结果里面把这个溢出给考虑到,不然就会不通过,就因为这,我交了好多次都不通过……
看题解吧:
class Solution:
def reverse(self,a):
if a==0:
a= 0
a_str=str(a)[::-1]#整数反转
if a_str[-1]=='-':
a=-(int(a_str[:-1]))
else:
a=int(a_str)
return a if -2147483648<a<2147483647 else 0
结果:
9,回文数
这个题很简单,没什么说的,六行代码暴力求解
class Solution:
def isPalindrome(self,a):
if str(a)[::-1]==str(a):
return True
else:
return False
结果:
作为python初学者,其中有不足的地方,还请大家评论斧正,后续会继续刷leetcode力扣并更新。