leetcode Reverse Integer(python)

      哎,刚做完这么一道水题,自己就迫不及待的刷空间去了。还是耐不住性子啊。那不如就写一篇blog吧。当放松了。好啦,进入正题吧。题目相当简单,就是把给的整数翻转就行了。例如 123, 返回321; -789,返回-987。

       好,直接上python。

class Solution:
    #@return an integer
    def reverse(self, x):
        positive_x = abs(x)
        multi = x / positive_x
        str_x = str(positive_x)
        rever_str_x = str_x[::-1]
        return int(rever_str_x) * multi
心里想着,这题是真的简单啊。直接搞定了。不到1分钟啊。

commit上去,哇噢噢噢噢噢!!!!错了, 原来,不小心忘了x为0时的情况,这时候x是不能作为被除数的。呀,添加一个条件呗。

class Solution:
    #@return an integer
    def reverse(self, x):
       if 0 == x:
           return x
        positive_x = abs(x)
        multi = x / positive_x
        str_x = str(positive_x)
        rever_str_x = str_x[::-1]
        return int(rever_str_x) * multi

哈哈,搞定了。

然后自己又再次优化了一下代码。太多中间变量。来个代码超短的。

class Solution:
    # @return an integer
    def reverse(self, x):
        if 0 == x:
            return 0
        return int(str(abs(x))[::-1]) * (x / abs(x))
哈哈,这就是我喜欢python的原因。

水题一道,不值得炫耀,只是克制一下贪玩的自己。大笑


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值