欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

反转整数


给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2**31, 2**31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        num = abs(x)            #取绝对值
        new_num = 0             #反转后的数字,初始值为0
        while num > 0:          
            one_num = num % 10      #取数字的最后一位
            new_num *= 10         #每取到一位就让new_num*10
            new_num = new_num + one_num #num+取到的数字
            num //= 10           #每取一位数字后,num就少一位
                        #最后得到的new_num就是num的反转了 if x < 0: new_num = new_num * -1 if -2 ** 31 <= new_num: return new_num else: return 0 else: if new_num <= 2 ** 31 - 1: return new_num else: return 0

num为原始数字的绝对值

new_num为反转后的数字,初始值为0

one_num为num模10后得到的最后一位

posted on 2018-09-05 20:55  Louiszj  阅读(100)  评论(0)    收藏  举报

导航