给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321
代码实现:
class Solution: """version 1.0,int>str>list,通过列表的pop/append方法实现反转, list>str>int""" def reverse(self, x: int) -> int: if x > 2 ** 31 - 1 or x < -2 ** 31 or x == 0: return 0 def _reverse(x): x_str = str(x) x_list = list(x_str) new_x_list = [] for i in range(len(x_list)): temp = x_list.pop() new_x_list.append(temp) new_x_str = ''.join(new_x_list) return new_x_str if x > 0: return int(_reverse(x)) elif x < 0: x = -x x_str = '-' + _reverse(x) return int(x_str) if __name__ == "__main__": x0 = 2548795355665448 x1 = -2875254 reverse_ = Solution() res = reverse_.reverse(x0) print(res)
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。