比如题目要求—— The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows. 我根本没有看见粗体的 renversed,所以一直对输入是不是符合 32 位整数进行判断,结果闹了很久才明白为啥最后几个 case 没法 a。
复习:32 位有符号整数范围 -2^31~2^31-1,剩下使用 Python 应该没有任何问题。
下面的思路是将数字转换成字符串然后反转:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
classSolution(object): defreverse(self, x): """ :type x: int :rtype: int """ sign=1 if x<0: sign=-1 x=-x xRev=int(str(x)[::-1]) if xRev<2**31: return sign*xRev else: return0