• 20190501-整数翻转


    整数反转

    题目描述

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例 1:

    输入: 123

    输出: 321

    示例 2:

    输入: -123

    输出: -321

    示例 3:

    输入: 120

    输出: 21

    注意:

    假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [231,  231 1]。请根据这个假设,如果反转后整数溢出那么就返回 0

    简单解法

    本题考点:

    1.   intstr类型互转,注意这里是将int装换成string之后,需要根据字符串的特性来反转

    2.   str倒序输出

    具体思路:

    先将输入的整数转换为str类型,翻转后再转换为int类型,但是其中涉及到有负数的情况,而负数是不能够将符号位进行翻转的,所以将输入的数分为2种情况。并且如果反转后整数溢出那么就返回0,所以将输出的数也分为2种情况。

    输入的数:

    1.  输入的整数>=0

    2.  输入的整数<0

    输出的数:

    1.  输出的数 < 231  or 输出的数 > 231 1 return 0

    2.  231   < 输出的数 < 231 1 return 输出的数

     def reverse(x):
            """
            :type x: int
            :rtype: int
            """
            if x>= 0:
                result = int(str(x)[::-1])#先将x转换为str类型然后翻转最后再转换回int
            else:
                result = -int(str(x)[1:][::-1])#因为此时的x是负数第0位是符号位,所以反转的时候要从第一位开始反转
            if result >2**31-1 or result<-2**31:#判断输出的数范围
                return 0
            return result
  • 相关阅读:
    springaopxml
    【Cocos2dhtml5】解析例子中的飞机游戏(一)
    springiocannotation
    模板方法设计模式(JDBCTeampleta
    springaopannotation
    从前,有座山,山里有座庙,庙里有苦逼IT
    day 41 Nginx进阶
    day 42 作业
    day43 LNMP单机环境安装
    day 42 nginx rewrite跳转
  • 原文地址:https://www.cnblogs.com/hyj691001/p/10799077.html
Copyright © 2020-2023  润新知