对于递归算法是一种非常常用的一种程序设计技巧,递归算法的核心思想是将一个大规模的原始问题一层一层的转化成为较小规模的、更利于理解的子问题来进行求解,而且由于子问题和原始问题的解决思路是完全一致的,因此就可以通过函数在自身函数体内就你行调用自身函数的的方式,从下至上的去解决原始问题,同时代码的逻辑也清晰明了。可以用一个比喻来将递归进行讲解,就是从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,他讲的故事是从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,他在讲从前有座山,通过这个比喻就可以看出,这里面一直在反复的讲同一个故事,而对于这个比喻中,如果说把讲这个故事抽象成为一个函数,那就是函数调用函数自己本身,这就是一种递归。
而使用递归算法的思想来解决问题,也就是关于给定一个正整数,需要将其用倒序的方式进行输出,如下给出两个例子:
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
对于该问题的解题思路,如果将一个正整数倒序输出,就需要按照个位、十位、百位....这样的顺序去进行输出,所以我们就需要得到正整数的个位数,如果按照常规的思路来解决的话,就是将这个正整数对10进行取余来求得个位数的值,十位数值的获取方式就是将该数除以10向下取整,所以也就是不断的执行取个位数的操作,即每次递归执行过程中的输出的内容。
添加图片注释,不超过 140 字(可选)
使用python来进行递归实现的代码如下:
class Solution(object):
def reversenum(self,num):
print(num%10)
if(num>10):
self.reversenum(num/10)