题目:
中等
相关标签
相关企业
给你一个 32 位的有符号整数 x
,返回将 x
中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1]
,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123 输出:321
示例 2:
输入:x = -123 输出:-321
示例 3:
输入:x = 120 输出:21
示例 4:
输入:x = 0 输出:0
提示:
-231 <= x <= 231 - 1
我的答案:
-
class Solution: def reverse(self, x): sign = 1 if x >= 0 else -1 x_str = str(abs(x)) reversed_str = x_str[::-1] reversed_int = int(reversed_str) * sign if reversed_int < -2**31 or reversed_int > 2**31 - 1: return 0 return reversed_int
我的思路:
1.定义一个函数
2.让符号先默认为正 定义符号的正负条件
3.str()函数是将内容转化成字符串,abs()函数是将内容绝对值
4.reversed_str = s_str[::-1]是将字符串反转(我当时是想reverse.x_str的,但是报错了,可能出现了意料之外的错误)
5.用if说明正负,考虑范围之外的事情
6.得到答案