题目:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
输入输出:
输入:x = -123
输出:-321
输入:x = 120
输出:21
输入:x = 0
输出:0
解题思路:
整数转换成字符串,判断首位,字符串反转
算法实现:
class Solution:
def reverse(self, x: int) -> int:
if -10<X<10:
return x
str_x = str(x)
if str_x[0] == '-':
y = str_x[:0:-1]
x = int(y)
x = -x
else:
x= str_x[::-1]
x = int(x)
if -2147483648 < x < 2147483647:
return x
else:
return 0
出现问题:
1. x为个位数字的时候可以直接返回
2. 题目中要求数字有一定范围
3. int(001)的时候前面的0就去掉了,变成1