当前位置 博文首页 > 明圣的博客:7. 整数反转

    明圣的博客:7. 整数反转

    作者:[db:作者] 时间:2021-08-07 15:41

    class Solution:
    def reverse(self, x: int) -> int:
    MIN, MAX = -231(2的31次方), 231(2的31次方) - 1
    rev = 0
    while x != 0 :
    if rev < MIN//10 +1 or rev > MAX//10 :
    return 0
    digit = x % 10
    #Python3 的取余运算在 x 为负数时也会返回 [0, 9) 以内的结果,因此这里需要进行特殊判断,这里要注意一点-116%10=4而不是等于6
    if x < 0 and digit > 0:
    digit -= 10
    #同理,Python3 的整数除法在 x 为负数时会向下(更小的负数)取整,因此不能写成 x //= 10
    x = (x - digit) // 10
    rev = rev * 10 + digit
    return rev

     笔记:1、注意范围判断,限制了64位数,所以不能直接判断			
     2、Python3 的取余运算在 x 为负数时也会返回 [0, 9) 以内的结果,
     因此这里需要进行特殊判断,这里要注意一点-116%10=4而不是等于6
    
    cs