Reverse digits of an integer.
Example1: x = 123, return 321 Example2: x = -123, return -321
Note: The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
反转整形,但是注意不能超过32位int的最大值,如果溢出返回0。
我的解法
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ if x >= 0: a = [val for val in str(x)] string = '' for i in range(len(a))[::-1]: string += a[i] if int(string) > 2147483647: return 0 else: return int(string) else: a = [val for val in str(x)[1:]] string = '' for i in range(len(a))[::-1]: string += a[i] if int(string) > 2147483647: return 0 else: return 0-int(string) 别人的解法: def reverse(x): s = cmp(x, 0) r = int(`s * x`[::-1]) print s,r return s * r * (r < 2 ** 31)