LeetCode-70. Climbing Stairs

问题描述

You are climbing a staircase. It takes n steps to reach the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

Example :

1
2
3
4
5
Input: n = 2
Output: 2
Explanation: There are two ways to climb to the top.
1. 1 step + 1 step
2. 2 steps

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
* @Description: 70. Climbing Stairs
* @Author: libk
* @Github: https://github.com/libk
*/
/**
* @param {number} n
* @return {number}
*/
const climbStairs1 = function (n) {
let res = 1
let pre = 1
let preOfPre = 1

for (let i = 2; i <= n; i++) {
res = pre + preOfPre
preOfPre = pre
pre = res
}
return res
}