整数反转
无聊中刷leetcode,碰到一道老题,整数反转。要求很简单,就是将一个输入的整数进行反转变成另外一个整数输出,符号不变。
举例:
输入: 123
输出: 321
输入: -123
输出: -321
初看可能会觉得是不是要先到末尾然后一个个一个算,其实实现起来很简单,下面是我用Python写的一段代码:
import math
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
y=abs(x)
temp=pow(2,31) ##此处是因为题目中有限制数字大小为32个有符号字符,范围在[-2^31,2^31-1]之间
res=0
while y!=0:
res=res*10+y%10
y=math.floor(y/10)
if (x>0 and res>temp-1) or (x<0 and res>temp):
return 0
if x<0:
res=res*-1
return res
以上。