LeetCode刷题之---整数反转

1.问题说明

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

输入: 123
输出: 321

示例2:

输入: -123
输出: -321

示例3:

输入: 120
输出: 21

2.代码说明

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x>=0:    # 如果是正整数
            x = str(x)  # 转化成字符串
            x = x[::-1] # 反转
        else:   # 如果是负整数
            x = str(x)  # 转化成字符串
            x = x[1:]   # 去掉负号
            x = '-'+x[::-1] # 反转并拼接负号
        x = float(x)    # 转化成float格式
        if (x < float(-2 << 30)) | (x >= float(2 << 30)):   # 如果反转后位数溢出了则返回0
            return 0
        x = int(x)  # 转换成int类型
        return x

你可能感兴趣的:(Python,LeetCode)