python怎样反转整数?思路与实现方法分�
Admin 2021-05-21 群英技术资� 328 次浏�
文本主要给大家分享使用python怎么实现整数反转,下面分享了实现思路以及几种实现整数反转的方法,感兴趣的朋友可以参考,下面我们就一起来看看python实现整数反转要怎么做吧!注意文本示例在是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 输出�
思路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:不使用字符串。当翻转后的数字大于条件就返�
class Solution: def reverse(self, x: int) -> int: y, res = abs(x), 0 # 则其数值范围为 [�2^31, 2^31 � 1] boundry = (1<<31) -1 if x>0 else 1<<31 while y != 0: res = res*10 +y%10 if res > boundry : return 0 y //=10 return res if x >0 else -res
改进�
class Solution: def reverse(self, x: int) -> int: str1 = str(x) if str1[0] == '-': str1 = str1[0] + str1[:0:-1] a=int(str1) if (1<<31)<abs(a): return 0 else: str1 = str1[::-1] a= int(str1) if a>(1<<31) -1: return 0 return a
答:这是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 < 0: plus_minus = "-" x = -x for i in str(x): reverse_x = i + reverse_x reverse_x = plus_minus + reverse_x if int(reverse_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
关于python怎样反转整数的介绍就到这,之前我们也有介绍过python反转字符串,希望这些对大家学习python有帮助,更多python反转整数的内容,可以关注其他相关文章�
文本转载自脚本之�
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容�
猜你喜欢
这篇文章主要介绍了利用Python实现简单的验证码处理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一�
对于初学者来说,在使用pycharm上会有一些问题,对此小编给大家分享一些pycharm设置方法,对大家熟悉pycharm有一定的帮助。需要的朋友可以参考参考�
今天给大家介绍Python中的pathlib库的操作方法,pathlib 是Python内置库,pathlib库对于目录路径的操作更简洁也更贴近 Pythonic(Python代码风格的),对Python pathlib库相关知识感兴趣的朋友一起看看吧
这篇文章主要为大家介绍了Python 垃圾回收机制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章主要介绍了Python实现多脚本处理定时运行,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一�
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所�
增值电信经营许可证 : B1.B2-20140078