• 7. 反转整数


    7. 反转整数

    描述

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

    示例

    示例 1:

    输入: 123
    输出: 321
    

    示例 2:

    输入: -123
    输出: -321
    

    示例 3:

    输入: 120
    输出: 21
    

    注意:

    假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

    思路

    这种反转题早在学 C 的时候就碰到过,当时是不断的相除得到数组后反向输出,而现在使用 Python 必不可能再用这个方式。

    Python 中的列表有自带的反转函数 reverse 和列表切片 x[::-1] 都可以使得列表反转。

    还需要注意得是要求输入的数是 32 位有符号整数,有以下考虑:

    1. 反转的时候需要记录正负,最后还得保持正负数才行。
    2. 溢出的时候返回 0。
    class Solution:
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            # 记录x是正数还是负数
            sign = [1, -1][x < 0]
    
            # 反转后还需要加上正负
            ret = sign * int(str(abs(x))[::-1])
    
            # 如果溢出返回0
            return ret if -(2**31) < ret < 2**31 - 1 else 0
    
    

    GitHub地址:https://github.com/protea-ban/LeetCode

  • 相关阅读:
    冒泡排序代码实现
    git简单的操作命令
    git操作
    二进制流 及 ajax图片上传
    mysql备份和还原
    安装memcacheq
    源码分页搜索公用
    yii框架phpexcel
    vim 设定一个新的snippets
    ubuntu 安装 flash player
  • 原文地址:https://www.cnblogs.com/banshaohuan/p/9603020.html
Copyright © 2020-2023  润新知