def reverse_integer(num):
a=0 # 标志位用于判定num的正负
# 如果数是一位小于10且大于0的数,则直接返回,若为负数则取其绝对值
if num < 10 and num >=0 :
return num
elif num<0:
num=abs(num)
a=1
# 将数的最后一位取出来 # digit存储低位
last_digit = num % 10
# 将数的剩余部分递归翻转 num存储高位
reversed_num = reverse_integer(num // 10)
# 将低位和高位拼接达到反转的作用并作为返回值
if a==1:
return -int(str(abs(last_digit)) + str(abs(reversed_num)))
else:
return int(str(last_digit) + str(reversed_num))
print(reverse_integer(-1233))
Python:递归实现将任意一个整数翻转(比如1234翻转成4321,-1234翻转为-4321)
最新推荐文章于 2023-12-05 12:37:52 发布