Leetcode 带符号整数反转
题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例:输入 123 -123 0
输出 321 -321 0
代码
1 class Solution: 2 def reverse(self, x: int) -> int: 3 if x == 0 : 4 return 0 5 s = str(x) 6 re = [] 7 s = s[::-1] #先反转 123->321 -123->321- 120->021 8 if s[0] != '0' and x >0: 9 s=s 10 elif s[0] == '0'and x>0: 11 for i in range(1,len(s),1): #s[1]开始遍历,除去0 12 re.append(s[i]) 13 s = ''.join(re) 14 else : 15 re.append('-') 16 for i in range(0,len(s)-1,1): #s[0]遍历到s[n-1],除去末尾'-' 17 re.append(s[i]) 18 s = ''.join(re) 19 s = int(s) 20 if -2**31 <= s <= 2**31-1: 21 return s 22 else: 23 return 0
总结:题目需要注意的小点比较多,细心一点,看清要求以及规定好的范围,把每个需要考虑到的点都考虑到
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
#代码
print("早点睡觉不然会死掉!")