欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

整数反转-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
    

执行时间和内存消耗如下:
整数反转-python3
如果你有更好的方法可以在评论中交流。

本文地址:https://blog.csdn.net/West_Metre/article/details/107425038

相关标签: leetcode python