方法一:递归
思路:从结果往前进行递推
注意:运行超时 ❌
func climbStairs(n int) int {if n <= 2 {return n}return climbStairs(n-1) + climbStairs(n-2)}
【推荐】方法二:
思路:从前往后递推
// 正着推
func climbStairs(n int) int {
if n <= 2 {
return n
}
oneStep, twoStep := 1, 2
for i := 2; i < n; i++ {
oneStep, twoStep = twoStep, oneStep + twoStep
}
return twoStep
}
