python用递归实现反转一个整型数(记2017腾讯测试工程师面试)

废话不多说, 我知道大多数人查算法题目的目的.先直接贴出我的solution.

def revint(n):
    a,b = divmod(n,10)
    if a == 0:
        return b
    else:
        w = 10**len(str(a))#w变量必不可少,如果有不用w变量的方法希望分享
        return b*w + revint(a)

面试官要求用递归实现将一个整型反转,当时因为没有准备过算法题目,所以没有答上来,只能说用str(n)[::-1]可以解决.这显然不是考察的内容.

我一直还是很好奇为什么没有好的书籍介绍如何写出优秀的递归代码,递归可以算是一个一直困扰着我但是又找不到相关知识学习的一个领域(2018.3.3 函数式编程(funtional programming)似乎可以解答我的疑惑, 希望招聘季过了之后有时间好好学习lisp填补这个洞)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值