LeetCode做题第一天
LeetCode做题第一天 最近太过清闲,不是打游戏就是打游戏,编程学习的都快忘完了,从今天起,每天刷一道力扣题。 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 ~~这是一道简单题,整数翻转,刚开始还想着将输入整数转换为字符串,在转换为列表,然后将列表倒置......(纯粹瞎搞)~~ 直接转换到字符串就行了,将它倒置,然后用rstrip去除末尾的负号(如果有的话),然后用int()强制转换为数字,然后问题就变得有意思多了。判断输入的数字是正数还是负数,如果是正数就返回该数字,否则返回负的该数字,是不是很简单呢?具体实现代码如下(python3) class Solution: def reverse(self, x: int) -> int: s = str(x)[::-1].rstrip('-') if int(s) <2**31: if x >= 0: return int(s) else: return 0 - int(s) else: return 0 来源