Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
class Solution { public: int climbStairs(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function int dp1 = 1, dp2 = 2,dp; dp = n == 1 ? dp1 : dp2; for(int i = 3; i <= n; i++){ dp = dp1 + dp2; dp1 = dp2; dp2 = dp; } return dp; } };