上楼梯(跳台阶)

问题描述

楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,走完n阶台阶共有多少种不同的走法

解题思路:
假设n阶台阶有f(n)种走法,第一步有2种走法
1.如果上1阶,那就还剩n-1阶,共有f(n-1)种走法
2.如果上2节,那就还剩n-2阶,共有f(n-2)种走法
所以f(n) = f(n-1) + f(n-2).

代码如下:

class ClimbStairs
{
public:
	int climb(int n)
	{
		if (n <= 2)
		{
			return n;
		}

		return climb(n - 1) + climb(n - 2);
	}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章