整数反转

题目:给出一个 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 --指定截取的字符。

返回值

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

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

原文地址:https://www.cnblogs.com/dmndxld/p/10753267.html