• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python3整数反转的实现方法

python 搞代码 4年前 (2022-01-08) 19次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了python3整数反转的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

思路1:将其转为字符串进行翻转,并进行正负的判断。最后,题目要求如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0

 class Solution: def reverse(self, x: int) -> int: str1 = str(x) if str1[0] == '-': str1 = str1[0] + str1[:0:-1] else: str1 = str1[::-1] return int(str1) if -2147483648<int(str1)<2147483648 else 0 

思路2:不使用字符串。当翻转后的数字大于条件就返回0

 class Solution: def reverse(self, x: int) -> int: y, res = abs(x), 0 # 则其数值范围为 [−2^31, 2^31 − 1] boundry = (1<0 else 1< boundry : return 0 y //=10 return res if x >0 else -res 

改进:

 class Solution: def reverse(se<span style="color:transparent">来源gaodai#ma#com搞*!代#%^码网</span>lf, x: int) -> int: str1 = str(x) if str1[0] == '-': str1 = str1[0] + str1[:0:-1] a=int(str1) if (1<<31)(1<<31) -1: return 0 return a 

补充:问:说说Python反转三位整数有几种方法?

答:这是leetcode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!

下面分别来说说几种实现的方式:

1、取余取整方式

 class Test: def reverseInteger(self, number): g = number%10     #取出个位数 s = (int(number/10))%10  #取出十位数 b = int(number/100) #取出百位数 return g*100+s*10+b if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) #输出结果:321 

2、使用栈的方式

 class Test: def reverseInteger(self, number): number = str(number) # 模拟入栈 l = list(number) result = "" while len(l) > 0: result += l.pop() # 模拟出栈 return int(result) if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) # 输出结果:321 

3、使用切片的方式

 class Test: def reverseInteger(self, number): number=str(number) result=number[::-1] #python中切片的特殊用法 result=(int(result)) return result if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) 

4、整数转字符串,反转字符串,然后再转整数

 class Test: def reverseInteger(self, x): plus_minus = "" reverse_x = "" if x  pow(2, 31) - 1 or int(reverse_x) <pow(-2, 31): return 0 return int(reverse_x) if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) #输出结果:321

以上就是python3整数反转的实现方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python3整数反转的实现方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址