确定递归算法的三个要素。每次写递归算法时都基于下面的“三部曲”,可写出正确的递归算法。
(1)确定递归函数的参数和返回值
确定哪些参数在递归过程中需要处理就在递归函数中加上这些参数,并且明确每次递归的返回值是什么,进而确定递归函数的返回类型
(2)确定终止条件
写完递归算法,程序运行的时候经常会遇到栈溢出的错误,原因是没有写终止条件或者终止条件写的不对。操作系统也是用一个栈的结构保存每一层递归的信息的,如果递归没有终止,那么操作系统的内存栈必然会溢出
(3)确定单层递归的逻辑
确定每一层递归需要处理的信息。在这里会重复调用函数本身来实现递归的过程。