题目
描述
给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果
1.只反转数字部分,符号位部分不反转
2.反转后整数num超过 32 位的有符号整数的范围 [−231, 231 − 1] ,返回 0
3.假设本题不允许存储 64 位整数(有符号或无符号,即C++不能使用long long ,Java不能使用long等)
数据范围:
-231 <= x <= 231-1
思路
将数字转成字符串,然后反转字符串后转数字,过程中注意符号和最终的结果范围就可以了。
代码
python版本:
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param x int整型
# @return int整型
#
class Solution:
def reverse(self , x: int) -> int:
# write code here
sign = 1
if(x<0):
sign = -1
x = -x
str_x = str(x)
x = int(str_x[::-1])
res = sign*x
if(res<-2**31 or res>2**31-1):
res = 0
return res
c++版本:
无