给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
- show the code:
def reverse(self, x: int) -> int:
sign = [1,-1][x<0]
res = sign * int(str(abs(x))[::-1])
return res if -2**31 <= res <= 2**31-1 else 0
- 这个题还算比较简单,特别是用python做,直接利用字符串的切片搞定,翻转即
[::-1]
- 要注意的地方是整数溢出以及符号的处理,这里可以学习一下
[1,-1][x<0]
,即布尔值索引:True=1,False=0
,最后再将符号乘上去。
网友评论