整数反转-python3
程序员文章站
2022-08-18 08:21:37
1、题目要求给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(LeetCode)链接:reverse-integer2、解题思路需要考虑整数的符号和范围,将整数值转换成字符串再转换成列表,提出符号,反转,再将列表元素连接起来,最后转换成整数值,int()函数会忽略如-0123中的0值,直接转换成-123。参考代码...
1、题目要求
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode)
链接:reverse-integer
2、解题思路
需要考虑整数的符号和范围,将整数值转换成字符串再转换成列表,提出符号,反转,再将列表元素连接起来,最后转换成整数值,int()函数会忽略如-0123中的0值,直接转换成-123。
参考代码如下:
def reverse(x:int)->int:
x=list(str(x))
if x[0]=='-' or x[0]=='+':
res=int(x[0] + ''.join(x[1:])[::-1])
else:
res=int(''.join(x)[::-1])
return res if res in range(-2147483648,2147483647) else 0
执行时间和内存消耗如下:
如果你有更好的方法可以在评论中交流。
本文地址:https://blog.csdn.net/West_Metre/article/details/107425038