解题思路
假设到n阶的方法数为f(n)
最后一步怎么走?
有两种方式:
1.走一级阶梯,共有f(n-1)种走法
2.走两级阶梯,共有f(n-2)中走法
所以:
f(n) = f(n-1) + f(n-1)
以下代码为这个思路的迭代实现
70. 爬楼梯
代码
class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
l0, l1 = 1, 1
idx = 1
while idx < n:
l0, l1 = l1, l0+l1
idx += 1
return l1

网友评论