给定一个32位的符号整数,返回它的反转整数
Example 1: Input: 123 Output: 321
Example 2: Input: -123 Output: -321
Example 3: Input: 120 Output: 21
假设该整数的大小范围为:,如果反转整数溢出,就返回0。
1:正常整数方法实现,利用余数*10累加的方法完成。需要注意的是,python对整数除法采用“向下取整”机制,所以正数和负数要区别运算。
def reverse(self, x): """ :type x: int :rtype: int """ num = 0 if x == 0: return 0 if x < 0: x = -x while x != 0: num = num*10 + x%10 x = x/10 num = -num else: while x != 0: num = num*10 + x%10 x = x/10 if num>pow(2,31)-1 or num < pow(-2,31): return 0 return num
2:整数转字符串,反转字符串,然后再转整数
def reverse(self, x): """ :type x: int :rtype: int """ plus_minus = "" reverse_x = "" if x<0: plus_minus = "-" x = -x for i in str(x): reverse_x = i + reverse_x reverse_x = plus_minus +reverse_x if int(reverse_x)>pow(2,31)-1 or int(reverse_x)<pow(-2,31): return 0
相关教程推荐:Python视频教程