本文共 1102 字,大约阅读时间需要 3 分钟。
题目:
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123Output: 321
Example 2:
Input: -123Output: -321
Example 3:
Input: 120Output: 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 resultxif __name__ =='__main__': x = 1534236469 y = Solution().reverse(x) print y代码很简单,思路就是将正负数分开计算,将数字转化为字符串,将取余之后的数字直接进行字符串的拼接就好了。
转载地址:http://awhci.baihongyu.com/