LeetCode 第7题 整数反转

Posted meloyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 第7题 整数反转相关的知识,希望对你有一定的参考价值。

LeetCode 第7题 整数反转

题目描述

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

整体思路

这道题在LeetCode的题目中是非常简单的,尤其是用Python来解决。我们都知道在Python中int类型和str类型是可以相互转换的:int(str) 或者 str(int)。因此这道题中,我们仅需要将input中的int类型转换为str类型然后翻转字符串即可。
翻转字符串我们用到的方法是str[::-1]。在这个语句中,‘-1’指的是step(步长)的意思,取负号则表示顺序反向,第一个‘:’和第二个‘:‘前的数字省略,默认取0和len(str),因此起到了翻转字符串的作用。
在翻转字符串后,我们需要注意得到字符串的最后一位是否是‘-‘或‘+‘,如果是的话,则将其调整至新字符串的第一位。最后,我们将字符串转换为int即为最后的答案

代码实现

class Solution:
    def reverse(self, x: int) -> int:
        string = str(x)
        # Reverse the string
        string = string[::-1]
        # If the end of the string is '-' or '+', move it to the head of the string
        if string[-1] == '-' or string[-1] == '+':
            string = string[-1] + string[0:-1]
        answer = int(string)
        # Check whether the integer is within the legal range of int32
        if answer > 2**31-1 or answer < -2**31:
            return 0
        return int(string)

以上是关于LeetCode 第7题 整数反转的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode第7题:整数反转

LeetCode #7 简单题(反转整数)

Leetcode 7.反转整数 By Python

7. 反转整数 [leetcode 7: Reverse Integer]

7. 反转整数 [leetcode 7: Reverse Integer]

LeetCode 力扣7. Reverse Integer 整数反转 Java 解法