题来自力扣
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
提示:
-231 <= x <= 231 - 1
以上是题目,解题代码如下:
class Solution(object):
def reverse(self, x):
if str(x)[0] == '-':
flag = '-'
ans = str(x)[:0:-1]
else:
flag = ''
ans = str(x)[::-1]
if int(flag+ans) >(2**31 -1) or int(flag+ans) < -(2**31):
return 0
return int(flag+ans)
解题思路:先把整型X转化成字符串,然后进行判断,如果第一个(下标位0)为“-”的话,就先将flag赋值为“-”,然后反转字符串,截至到倒数第二位,如果第一个(下标位0)是数字的话flag赋值空,然后继续反转字符串,但是全部反转,然后再将反转后的字符串转化成数字进行判断,如果满足if的条件的话返回0,如果不满足的话直接返回转化为int值的相加的整型