''' 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1:输入: 2 输出: 2 解释:1 阶+1 阶 / 2 阶 示例 2:输入: 3 输出: 3 解释:1 阶+1 阶+1 阶 / 1 阶+2 阶 / 2 阶+1 阶 ''' class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ if n <= 1: return 1 pre,ppre = 1,1 for i in xrange(2,n+1): tmp = pre pre = pre + ppre ppre = tmp return pre