每日一道算法题之LeetCode7

LeetCode7 整数反转

题目:https://leetcode-cn.com/problems/reverse-integer/

解题思路如下:

1. 先判断x是否为0,若为0,则直接返回0.

2. 判断x的正负,若为负,则绝对值处理,转换为正数。此处采用标识符flag应对正负的情况。

3. 把x转换为字符串,再转为列表。

4. 接着把列表反转,再通过拼接,转换为数字。

5. 最后判断反转后是否溢出。

 1 class Solution:
 2     def reverse(self, x: int) -> int:
 3         if x == 0:
 4             return 0
 5         maxn = 2**31-1
 6         minn = -2**31
 7         flag =1
 8         if x < 0:
 9             flag = -1
10             x = abs(x)
11         s = list(str(x))
12         s.reverse()
13         ss = int(''.join(s))
14         ss *= flag
15         if ss >maxn or ss < minn:
16             return 0
17         return ss

 注:

列表的reverse()没有返回值

拼接join()函数的参数为序列

posted @ 2021-01-22 23:42  vv_869  阅读(146)  评论(0编辑  收藏  举报