1. 题目
2. 思路
- 直接参考leetcode解释即可,注意一点 n=0的时候,就是只有0级台阶,只有一种方法就是站着不动,所以f(0)=1。
3. 代码
class Solution {
public int numWays(int n) {
// 初始条件 f(0) = 1, f(1) = 1 f(2)=f(1)+f(0)
// n=0的时候,就是只有0级台阶,只有一种方法就是站着不动,所以f(0)=1
int a = 1;
int b = 1;
int sum;
for(int i=0; i<n; i++){
sum = (a+b)%1000000007;
a = b;
b = sum;
}
// a从0开始,所以0-n,所以返回a
return a;
}
}