首页 > 代码库 > 【leetcode】Climbing Stairs (easy)
【leetcode】Climbing Stairs (easy)
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?
跳台阶,之前写过递归的,这次写个非递归的。
到第n层的方式 其实就是 到第n-1层的方式(爬一层)和到第n-2层的方式(爬两层)的和
class Solution {public: int climbStairs(int n) { if(n <= 0) return 0; else if(n == 1) return 1; else if(n == 2) return 2; else { int way1 = 2; int way2 = 1; int ans = 0; for(int i = 3; i <= n; i++) { ans = way1 + way2; way2 = way1; way1 = ans; } return ans; } }};
【leetcode】Climbing Stairs (easy)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。