递归: 递归可以使复杂问题简单化 递归是函数调用自己本身函数的调用会在栈上开辟内存 对于递归来说核心是找到递归公式和递归终止条件假如终止条件找错会出现StackOverFlowError错误 经典例题1: 汉诺塔问题 先来分析一下: 找到递归的终止条件和递推公式后我们来实现代码 经典例题2:青蛙跳台阶问题 青蛙可以一次跳1个台阶也可以一次跳2个台阶请问青蛙跳n级台阶有多少种跳法? 先来分析一下: 找到递归的终止条件和递推公式后我们来实现代码 **经典例题3:**斐波那契数列 再来分析一下: 递归代码实现 非递归代码实现