题目来源:
力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
def reverse(x):
a = []
s = str(x)#数字转换为字符串
st = ''
#判断若为一位数则直接返回s
if len(s) == 1:
return s
#将字符串切分为单个字母并存到数组中
for i in range(len(s)):
a.append(s[i])
if '-' in a:#若有负号则数组中移除负号,并在结果字符串中初始化'-'为第一位
a.remove('-')
st = '-'
res = list(reversed(a))#翻转列表
n = len(res)
while n:#当翻转前面为0的时候去掉0
if res[0] == '0':
del res[0]
n -= 1
for i in range(len(res)):#拼接字符串
st += res[i]
st = int(st)
if st < -2**31 or st > 2 ** 31 -1:#判断是否溢出
return 0
return st