
这题挺简单的,就是在32位那里卡了会,一开始不理解整形32位是多少,其实就是2^32。之后又纠结了,为啥输入1234567819,要返回0,这数明明小于2^32。后来反应过来,这数倒过来后是大于2^32了,所以这里得判断两次。蠢货 0.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
""" Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Note: The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows. """ class (object): def reverse(self, x): """ :type x: int :rtype: int """ temp = 1 new_x = [] if x > (2**31) or x < -(2**32): return 0 if x < 0: x = abs(x) temp = -1 x = str(x) for i in range(-1, -(len(x) + 1), -1): new_x.append(x[i]) x = int(''.join(new_x))*temp if x > (2**31) or x < -(2**31): return 0
|
近期评论