LeetCode做题第一天

ε祈祈猫儿з 提交于 2019-12-05 15:37:40

LeetCode做题第一天

最近太过清闲,不是打游戏就是打游戏,编程学习的都快忘完了,从今天起,每天刷一道力扣题。


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

示例 1:

输入: 123
输出: 321

  示例 2:

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

输入: 120
输出: 21

注意:

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

~~这是一道简单题,整数翻转,刚开始还想着将输入整数转换为字符串,在转换为列表,然后将列表倒置......(纯粹瞎搞)~~
直接转换到字符串就行了,将它倒置,然后用rstrip去除末尾的负号(如果有的话),然后用int()强制转换为数字,然后问题就变得有意思多了。判断输入的数字是正数还是负数,如果是正数就返回该数字,否则返回负的该数字,是不是很简单呢?具体实现代码如下(python3)
    class Solution:
        def reverse(self, x: int) -> int:
            s = str(x)[::-1].rstrip('-')
            if int(s) <2**31:
                if x >= 0:
                    return int(s)
                else:
                    return 0 - int(s)
            else:
                return 0

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!