dmndxld

码不停题

整数反转

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

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

看别人的python多简洁,思路清晰,转str用列表倒叙即可,再转回int

class Solution:
    def reverse(self, x: int) -> int:
        if x==0:
            return 0
        strx=str(x)
        x=''
        if strx[0]=='-':
            x+='-'
        x+=strx[-1::-1].lstrip("0").rstrip("-")
        x=int(x)
        if -2**31<x<2**31-1:
            return x
        return 0

 

学习一下lstrip()用法:

描述

Python lstrip() 方法用于截掉字符串左边的空格或指定字符。

语法

lstrip()方法语法:

str.lstrip([chars])

参数

  • chars --指定截取的字符。

返回值

返回截掉字符串左边的空格或指定字符后生成的新字符串。

 

关键点: 字符匹配 而不是字符串匹配  一个一个进行 直至整个给定的字符串匹配完全结束

posted on 2019-04-22 21:41  imyourterminal  阅读(235)  评论(0编辑  收藏  举报

导航