a指向第0个台阶的跳法,b指向第一个台阶的跳法,c指向第二个台阶的跳法,那么 c = a + b , 之后我们让a = b,b = c 。
c = a + b 这样我们就得到了第三个台阶的跳法,以此类推,直到 c 指向了 n,我们就得到了第 n 个台阶的跳法。
代码实现
java复制代码
class Solution {
public int numWays(int n) {
if(n <= 1){
return 1;
}
int a = 1;
int b = 1;
int c = 0;
for(int i = 2; i <= n; i++){
c = (a + b) % 1000000007;
a = b;
b = c;
}
return c;
}
}