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