Reverse Integer

前面是我的几点总结:

是个考数学操作,以及整数位数便利的题。基本上是while a!=0: d=a%10;a=a//10

  • 用abs()函数,比较优雅一点
  • 负数-n
  • python3里面//是整数除法
  • 用同一个loop,一边right shift a,一边left shift n

这里是Michelle小梦想家的youtube视频https://www.youtube.com/watch?v=NasutT5RAaM&list=PL2rWx9cCzU84eBz9Xfp9Rah5Fexq5yrh8&index=2

好像她最后的if那里不对,差了一个数。题目是说[-2^31, 2^31-1]不过没有关系, 小问题。
另外就是leetcode可能问的是如果整数是INT32,溢出怎么考虑。这样其它语言就比较麻烦了。
python的整数是arbitary precision, 所以没有这个问题。

    class Solution:
    def reverse(self, x: int) -> int:
        a = abs(x)
        n = 0
            
        while a!=0:
            n = n*10 + a%10
            a = a//10
            
        if x<0 and n<=2147483648:
            return -n 
        elif x>0 and n<2147483648:
            return n
        else:
            return 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值