LeetCode70. 爬楼梯Golang版
1. 问题描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数
2. 思路
到第n层的方法设为f(n),则f(n) = f(n - 1) + f(n - 2)
3. 代码
func climbStairs(n int) int {
if n == 1 || n == 2 {
return n
}
pre1 := 1
pre2 := 2
for i := 3; i <= n; i++ {
temp := pre1 + pre2
pre1 = pre2
pre2 = temp
}
return pre2
}