欢迎光临!
若无相欠,怎会相见

LeetCode–7.整数反转

序言

最近突然有捡起 LeetCode ,刷起题来。之前下班后随便学点东西,每天过的很是迷茫,根本看不到自己的未来,最近我又捡起自己的爱好,每天练字最少一小时,然后看着自己的毛笔字有进步还是很高兴,时间安排的紧了,才会忘记某些事情。只有沉浸某件事,才能不会胡思乱想~

Talk is cheap. Show me the code!

                                                  — Linus Torvalds

那就在 LeetCode 试试自己的代码,不试不知道,一试吓一跳~

题目

这次是简单的题目,整数反转。

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

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

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

输入: 120
输出: 21
注意:

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

一开始,我的想法是用list反转,多次提交代码验证不通过后,我开始看评论的代码,对比他们的代码与我的,才发现我的更加复杂,更容易出错。

通过自己的思考和别人代码的思想,我终于编写出来这个算法,很是羞愧。自己的思路很僵硬,需多加练习

class Solution(object):
    def reverse(self, x: int) -> int:
        """
        :type x: int
        :rtype: int
        """
        if -2 ** 31 <= x <= 2 ** 31 - 1:
            if x > 0:
                a = str(x)[::-1]
                a = int(a)
                if -2 ** 31 <= a <= 2 ** 31 - 1:
                    return a
                else:
                    return 0
            elif x == 0:
                return 0
            else:
                a = abs(x)
                a = str(a)[::-1]
                a = int(a)
                if -2 ** 31 <= a <= 2 ** 31 - 1:
                    return 0-a
                else:
                    return 0
        else:
            return 0


if __name__ == '__main__':
    s = Solution()
    print(s.reverse(-123))

本次重点就是数字反转,我最开始使用的是通过list来进行这方面的操作,看了别人的代码才知道使用字符串可以直接使用切片操作进行反转,还是需要多加锻炼,-_-||

执行结果:

执行结果:通过
显示详情
执行用时 :56 ms, 在所有 Python3 提交中击败了55.30%的用户
内存消耗 :13.9 MB, 在所有 Python3 提交中击败了5.21%的用户

结语

后面继续努力吧,以后要做到每5道题在写文章做总结,主要是今天经此有点感想,才迫不及待地写文章,哈哈~

如有错误,敬请指出,感谢指正!               –2019-08-03   23:11:14  于苏州

赞(0) 打赏
转载请注明:飘零博客 » LeetCode–7.整数反转
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临