反转数字
描述
给定一个32位的有符号整数num
,将num
中的数字部分反转,最后返回反转的结果
1.只反转数字部分,符号位部分不反转
2.反转后整数num
超过 32
位的有符号整数的范围 [−2^31, 2^31 − 1]
,返回 0
3.假设本题不允许存储 64
位整数(有符号或无符号,即C++
不能使用long long
,Java
不能使用long
等)
数据范围:\(-2^{32} \le x \le 2^{32} - 1\)
示例1:
输入:
12
返回值:
21
示例2:
输入:
-123
返回值:
-321
示例3:
输入:
10
返回值:
1
示例4:
输入:
1147483649
返回值:
0
代码:
class Solution:
def reverse(self , x: int) -> int:
# write code here
flag = 1
if x < 0:
flag = -1
x = -x
R = str(x)[::-1]
R = int(R)
if R > 2147483647 or R < -2147483648:
R = 0
return R*flag