LeetCode 7_ x 整数反转

1. 题目描述

 

2. 代码

 1 class Solution:
 2     def reverse(self, x: int) -> int:
 3         if x == 0:
 4             return 0
 5         operation = 1
 6         if x < 0:
 7             operation = -1
 8         sx = str(x)
 9         if sx[0] == '-':
10             sx = sx[1:]
11         n = len(sx)
12         result = []
13         for i in range(n-1,-1,-1):  #倒叙的一种方式
14             result.append(sx[i])
15         r = int(''.join(result))
16         r *= operation
17         if r >= 2 ** 31 or r < (-2) ** 31:  #判断是否溢出
18             r = 0
19         return r

思路: 输入整数先判断正负, 如果为负, 则截取负号之后的所有. 

         把输入转化为字符串, 获取长度. 倒叙添加进结果数组, 再int拼接成的字符串.

         最后判断是否溢出, 溢出则返回0.

3. 整理

3.1 str()

1 s = 'RUNOOB'
2 >>> str(s)
3 'RUNOOB'

3.2 join()

join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串.

语法:

1 str.join(sequence)
1 s1 = "-"
2 s2 = ""
3 seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
4 print (s1.join( seq ))
5 print (s2.join( seq ))
1 r-u-n-o-o-b
2 runoob

 

posted @ 2020-10-19 20:33  vv_869  阅读(130)  评论(0编辑  收藏  举报