题目7:整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转
题解:
class Solution:
def reverse(self, x: int) -> int:
if x>0:
a = str(x)
else:
a = str(-x)+'-'
a = int(a[::-1])
if a>=-2**31 and a<=2**31-1:
return a
else:
return 0
运行结果:
题目8:字符串转换整数
请你来实现一个 atoi 函数,使其能将字符串转换成整数
题解:
class Solution:
def myAtoi(self, s: str) -> int:
return max(min(int(*re.findall('^[\+\-]?\d+', s.lstrip())), 2**31 - 1), -2**31)
·使用正则表达式 ^:匹配字符串开头,[+-]:代表一个+字符或-字符,?:前面一个字符可有可无,\d:一个数字,+:前面一个字符的一个或多个,\D:一个非数字字符
·max(min(数字, 231 - 1), -231) 用来防止结果越界
运行结果:
题目9:回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
题解:
class Solution:
def isPalindrome(self, x: int) -> bool:
x = str(x)
if x == x[::-1]:
return True
else:
return False
运行结果: