首页 > 其他 > 详细

整数反转

时间:2021-08-18 10:28:52      阅读:22      评论:0      收藏:0      [点我收藏+]
#LeetCode原题地址:https://leetcode-cn.com/problems/reverse-integer/
#给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
#如果反转后整数超过 32 位的有符号整数的范围 [?231,  231 ? 1] ,就返回 0。
#数据值以0为边界进行判断
#方法一 切片
num, renum= 2147483649, 0
if num > 0:
renum = int(str(num)[::-1])
elif num <0:
renum=-int(str(abs(num))[::-1])
elif num==0:
renum=num
#边界判断
max_value = 2**31 - 1
min_value = -2**31
if renum>2**31 - 1 or renum <-2**31:
renum = 0
print(renum)
#方法二 整数反转reverse
num, renum= 2147483649, 0
numlist = list(str(num))
numlist.reverse()
if num > 0:
renum=int(‘‘.join(numlist))
elif num <0:
renum=-int(‘‘.join(numlist[1:]))
elif num==0:
renum=num
if renum>2**31 - 1 or renum <-2**31:
renum = 0
print(renum)
#方法三 递归
num, renum= 2147483649, 0
strnum = str(num)
def reversea(strnum):
if strnum == ‘‘:
return strnum
else:
return reversea(strnum[1:])+strnum[0]
print(reversea(strnum))

整数反转

原文:https://www.cnblogs.com/ljf520hj/p/15154613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!