递归解决爬楼梯问题
上楼梯过程中,一次可以走1阶,也可以走两阶,如果有n阶楼梯,一共可以有多少种走法?
推理:
我们在上楼梯的过程通过一阶或是两阶的走法,不断减少楼梯的步数,也就是n阶台阶我们可以通过n-1或是n-2的方式来减少台阶的阶数,最终归于剩下一阶或是两阶的情况来处理
推理走法过程:
n阶:可以走一步或是走两步,如果走一步就是n-1;如果是走两步就是n-2
n-1阶:可以走一步或是走两步,如果走一步就是(n-1)- 1;如果是走两步就是(n-1)- 2
n-2阶:可以走一步或是走两步,如果走一步就是(n-2)- 1;如果是走两步就是(n-2)- 2
…………
…………
…………
2阶:可以走一步或是走两步,如果走一步就是2-1;如果是走两步就是2-2
1阶:走一步就走完
结论:我们可以通过以上推论得出,通过相同的方式来减少台阶数,增加走法。减少一阶有一种走法,减少两阶有两种走法,通过减少一阶台阶,走法加一,或是减少两阶台阶,走法加二的方式逐渐减少台阶来获得最终走法。
示例代码
public