码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 第7题 整数反转

时间:2020-02-12 18:52:24      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:move   类型   self   ret   lock   需要   语句   answer   翻转   

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题 整数反转

标签:move   类型   self   ret   lock   需要   语句   answer   翻转   

原文地址:https://www.cnblogs.com/meloyang/p/12299931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!