Leecode-007

题目

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

示例

1
2
3
4
5
6
7
8
9
10
输入: 123
输出: 321


输入: -123
输出: -321

输入: 120
输出: 21

其他限制条件

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

题解代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        a = int(str(abs(x))[::-1])
        #先取x的绝对值将其倒置然后转换为整数
        if -2147483648 < a < 2147483647:  #整数不溢出的条件
            if x < 0:
            #如果原数字是负数为其添加负号
                a = -a
            return a
        else:
            return 0 

解题思路

1
这个题操作是将数字反转,我们很自然想到可以使用[::-1]的方法获得反转的字符串,然后转化为int类型可以去掉前导零,如果使用字符串操作可以使用rstrip('0')去掉左边的‘0’字符