整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
输入: 123
输出: 321
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
代码思路:
反转整数有两种,一种是转换成整数型字符串进行反转,另一种是直接堆整形进行算数运算。不管是哪种反转方法,最后都要转化成整形进行溢出判断。
方法一:使用字符串进行判断没有难度,但是速度较慢(注意 if 和 return 写法,很pythonic),这里有点绕的地方是在处理负数的时候,需要负号转一下。
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ num = (int(str(x)[::-1]) if x>0 else -int(str(-x)[::-1])) return (num if num< pow(2,31)-1 and num> pow(-2,31) else 0)
方法二:使用纯数字进行处理。
暂无

更多精彩