力扣刷题(python)50天——第四天:整数反转
题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法
python没有位数上限,在范围内我们既可以逐位进行%10与//10的操作来获取每一位数,也可以转化为字符串或列表进行操作。
解答
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x>0:
x=str(x)
x=x[::-1]
x=int(x)
if x>=2**31 or x<-2**31:
return 0
return x
else:
x=-x
x=str(x)
x=x[::-1]
x=-int(x)
if x>=2**31 or x<-2**31:
return 0
return x
本文介绍了一道力扣(LeetCode)的经典题目——整数反转,并提供了Python的解决方案。文章详细解释了如何通过字符串反转的方法实现整数的位数翻转,并检查是否超出32位有符号整数范围。


724

被折叠的 条评论
为什么被折叠?



