python刷题笔记怎么改_leetcode刷题笔记(2)(python)

344 Reverse String

题意:给出一个字符串对字符串进行翻转(reverse)

思路:直接使用切片函数进行翻转(网上看到的,具体怎么使用有点迷)[::-1]

代码:`class Solution(object):

def reverseString(self, s):

return s[::-1]`

557 Reverse Words in a String III

题意,给出一句话,将这句话里面每个单词的字母顺序改变,但是单词顺序不变输出。

思路:先用split()将字符串分割,再遍历,将字符串内每个单词进行翻转

代码:`class Solution(object):

def reverseWords(self, s):

l=[]

s=s.split()

for i in s:

l.append(i[::-1])

return " ".join(l)`

541 Reverse String II

题意:给定一个字符串,将字符串按照nk翻转,2n*k不翻转的规则进行处理。

思路:先将字符串分段,然后再根据段落进行处理最后将字符串输出。

代码:`class Solution(object):

def reverseStr(self, s, k):

al=len(s)//k+1

s=list(s)

last=[]

returnl=[]

for i in range(1,al+1):

if i<=al-1:

if i%2==1:

last.append(s[(i-1)*k:i*k][::-1])

elif i%2==0:

last.append(s[(i-1)*k:i*k])

elif i>al-1:

if i%2==1:

last.append(s[(i-1)*k:][::-1])

elif i%2==0:

last.append(s[(i-1)*k:])

for j in last:

for k in j:

returnl.append(k)

return "".join(returnl)`

258 Add Digits

题意:给定一个多位整数,将整数每位数字重复相加直到结果为个位数

思路:给定一个死循环,在里面不断求和即可。

代码:`class Solution(object):

def addDigits(self, num):

while 1:

if num<10:

return num

if num>=10:

result=0

while num!=0:

result += num%10

num//=10

num=result

`

202 Happy Number

题意:给定一个数,使这个数各位平方相加,如果最后的值是1则返回true,如果陷入死循环则返回false

思路:先给定一个死循环,然后先判断是否是1再判断是否是之前出现过的数,然后计算

代码:class Solution(object):

def isHappy(self, n):

numlist=[]

result=0

while 1:

if n==1:

return 1==1

for i in numlist:

if n==i:

return 1==2

numlist.append(n)

while n!=0:

result+=(n%10)**2

n//=10

n=result

result=0

263 Ugly Number

题意:给定一个数,如果这个数不被2 3 5且不为1则这个数为丑陋数(ugly number)

思路:死循环分别除1,先检测,如果数为0返回false

代码:

class Solution(object):

def isUgly(self, num):

while 1:

if num==0:

return 1==2

if num%2==0:

num/=2

elif num%3==0:

num/=3

elif num%5==0:

num/=5

elif num==1:

return 1==1

else:

return 1==2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值