class Solution { /** * f(n) 表示爬到第n层的方法数 * 第n层可由第n-1层迈1步到达 * 亦可由第n-2层迈2步到达 * 所以 f(n) = f(n-1) + f(n-2) * @param n * @return */ public int climbStairs(int n) { if (n == 1) { return 1; } if (n == 2) { return 2; } int a = 1, b = 2, c = 3; for (int i = 3; i <= n; ++ i) { c = a + b; a = b; b = c; } return c; }}