假设你正在爬楼梯。需要 n
阶你才能到达楼顶。
每次你可以爬 1
或 2
个台阶。你有多少种不同的方法可以爬到楼顶呢?
func climbStairs(n int) int {
pre, ne := 1, 1
for i := 2; i <= n; i ++ {
tmp := pre + ne
pre = ne
ne = tmp
}
return ne
}
func climbStairs(n int) int {
f1 := 1
f2 := 2
for i := 1; i < n; i ++ {
f1 = f1 + f2
f1, f2 = f2, f1
}
return f1
}