题目:
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123 Output: 321
Example 2:
Input: -123 Output: -321
Example 3:
Input: 120 Output: 21
Note:
Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
代码+调试
class Solution(object):
def reverse(self,x):
if x<0:
x = abs(x)
xlength1 = len(str(x))
resultx = ''
for a in range(xlength1):
resultx += str (x % 10)
x = x/10
resultx = -int(resultx)
else:
xlength2 = len(str(x))
resultx = ''
for a in range(xlength2):
resultx += str (x % 10)
x = x/10
resultx = int(resultx)
if resultx>2**31-1 or resultx<-2**31:
resultx=0
return resultx
if __name__ =='__main__':
x = 1534236469
y = Solution().reverse(x)
print y
代码很简单,思路就是将正负数分开计算,将数字转化为字符串,将取余之后的数字直接进行字符串的拼接就好了。