前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【记录帖】从零打卡刷Leetcode——No.007

【记录帖】从零打卡刷Leetcode——No.007

作者头像
小小詹同学
发布2018-07-24 17:54:39
5090
发布2018-07-24 17:54:39
举报
文章被收录于专栏:小詹同学小詹同学
写在前边:

小詹此记录贴的读者越来越少了,也许是小詹总结的不够好欢迎留言区提出宝贵的意见!也欢迎和小詹一起定期刷leetcode,每周一和周五更新一题,每一题都吃透,欢迎一题多解,寻找最优解!这个记录帖哪怕只有一个读者,小詹也会坚持刷下去的!


No.7 反转整数

原题:(有中文网站,就不去读英语啦哈哈)

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

例如:

代码语言:javascript
复制
输入: 123输出: 321

题目大意:注意题目中小詹标蓝的部分:32位有符号整数!说明有正负!如果超过32位范围就输出0。这一题比较简单,就用较为简单的篇幅进行讲解如下。


开始的开始,我们都是孩子!一开始想到了本科学c的时候遇到过类似的,第一反应是通过除法取商和取模运算进行反转,即依次获取每一个位置的数,然后反转再输出。这里值得一提的是不需要像小詹最初所想的进行列表化再反转处理。按照下列代码逻辑,已经实现了反转。

代码语言:javascript
复制
class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        #定义一个空字符串,思路是将数字字符化通过以下计算反转,
        #转换成字符串后反转转换成数字
        s = ''
        while x//10 != 0:
            num = x % 10
            s = s + str(num)
            x //= 10
        s = s + str(x) #针对最高位或者本身就是个位数的特殊情况  
        return int(s)

然而,执行只能通过部分样例,检查发现有这样几种错误:

  1. 未考虑到正负符号
  2. 为考虑超出32位
  3. 未考虑时间限制

这题很简单,完善下逻辑肯定没问题,但是时间很容易超出限制。但是!我们是用啥?用的是python啊,就像之前打卡群里小伙伴说的python内置函数都很牛逼。这题就可以有python的独特方法实现噢,比如列表的反转方法有哪些?自行温习,这里小詹跟大家说两种常用的:

  1. list.reverse()方法
  2. 字符串切片方法:res = s[::-1]

于是完善上边的逻辑漏洞,考虑到32位限制和正负符号。得到炒鸡简单的代码如下:

代码语言:javascript
复制
class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        #先记录正负
        sign = [1,-1][x < 0]
        #利用正负反转后符号不变,并利用绝对值函数进行反转,添加原有符号即可
        rst = sign * int(str(abs(x))[::-1])
        #返回反转值,超出32位为0
        return rst if -(2**31)-1 < rst < 2**31 else 0

这题思路简单,粗暴有力,尤其是利用python来实现简直就像是在作弊~~~~

往期推荐

【记录帖】(No.006)从零打卡刷Leetcode

【记录帖】(No.005)从零打卡刷Leetcode

【记录帖】(No.004)从零打卡刷Leetcode

【记录帖】(No.003)从零打卡刷Leetcode

【记录帖】(No.002)从零打卡刷Leetcode

【记录帖】(No.001)从零打卡刷Leetcode

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小詹学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档