LeetCode之整数反转

##### 1、题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: ```python 输入: 123 输出: 321 ``` 示例2: ```python 输入: -123 输出: -321 ``` 示例3: ```python 输入: 120 输出: 21 ``` 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 `[−2**31, 2**31 − 1]]`。请根据这个假设,如果反转后整数溢出那么就返回

LeetCode之整数反转
1、题目描述

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

示例1:

输入: 123
输出: 321

示例2:

输入: -123
输出: -321

示例3:

输入: 120
输出: 21

注意:

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

2、解题分析
1、将数字的转成list2、利用列表的方法reverse()反正
3、再用join链接起来
4、负数的加负号
5、判断反转数是否溢出,溢出输出0
3、程序代码
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        lis = list(str(x))
        if x < 0:
            lis.remove('-');
            lis.reverse()
            result = "".join(lis)
            result = '-'+result
        else:
            lis.reverse()
            result = "".join(lis)
        
        return int(result) if -2147483648 < int(result) < 2147483647 else 0
上一篇:Nginx反爬虫策略,禁止某些UA抓取网站 下一篇:城市天气爬去并绘制图表

评论

评论(1)

暂无评论