题目:给出一个 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 --指定截取的字符。
返回值
返回截掉字符串左边的空格或指定字符后生成的新字符串。
关键点: 字符匹配 而不是字符串匹配 一个一个进行 直至整个给定的字符串匹配完全结束