70. 爬楼梯 - 力扣(LeetCode)

class Solution:
    def climbStairs(self, n: int) -> int:
        if n == 0:
            return 1
        if n == 1:
            return 1
        
        # 使用两个变量存储 f(n-1) 和 f(n-2)
        prev1, prev2 = 1, 1
        
        # 计算每一阶的方法数
        for i in range(2, n + 1):
            current = prev1 + prev2
            prev2 = prev1
            prev1 = current
        
        # 返回第 n 阶的方法数
        return prev1

更多推荐