整数反转 - python

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

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

解决该道算法题核心思想是,将得到的int类型的数先进行正负的判断,然后再将int类型转换成为 str 类型,利用字符串的 切片可以很容易的将得到的字符反转

class Solution:
    def reverse(self, x):
        s = str(x)
        if s.startswith("-"):      # 判断是否带负号
            s1 = s[1:]
            if int("-"+s1[::-1]) < -2**31 - 1 :  # 判断是否溢出
                return 0
            return int("-"+s1[::-1])   # s1[::-1]逆序输出字符串
        else:
            if int(s[::-1]) > 2**31-1:
                return 0
            return int(s[::-1])
点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00