一、题目
函数原型: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);
}
}