一、题目
函数原型:int climbStairs(int n)
二、思路
此题运用递归思想。当只有1个台阶,那么只有1种方法爬到楼顶——跨一个台阶;当有2个台阶时,有2种方法爬到楼顶——跨一个台阶跨两次或直接跨两个台阶。当有3个台阶或更多台阶时,则可以选择先跨一个台阶还是先跨两个台阶,剩下的台阶再进行选择是先跨一个台阶还是先跨两个台阶……从而实现递归
int climbStairs(int n) { if (n <= 2) { return n; } else { return climbStairs(n - 1) + climbStairs(n - 2); } }