【Leetcode-Easy-70】Climbing Stairs

来源:互联网 发布:苹果mac卸载软件 编辑:程序博客网 时间:2024/05/17 04:52

【Leetcode-Easy-70】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?

Note: Given n will be a positive integer.

思路

斐波那契数列

程序

class Solution {    // public int climbStairs(int n) {    //     if (n <= 2) return n;    //     return climbStairs(n-1) + climbStairs(n-2);    // }    // public int climbStairs(int n) {    //     if (n <= 0) return 0;    //     if (n == 1) return 1;    //     if (n == 2) return 2;    //     return climbStairs(n-1) + climbStairs(n-2);    // }    public int climbStairs(int n) {        if (n <= 2) return n;        int result = 0;        int first = 1;        int second = 2;        for (int i = 3; i <= n; i ++) {            result = first + second;            int temp = first;            first = second;            second = second + temp;        }        return result;    }    }

声明:题目来自Leetcode.

原创粉丝点击