一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
数据范围:1≤n≤20
进阶:空间复杂度 O(1), 时间复杂度 O(1)
输入: 3 返回值: 4示例2
输入: 1 返回值: 1思路/解法 方式一
只有一级台阶,只有一种跳法。二级台阶2种跳法,3级台阶4种跳法,4级台阶8种跳法…即如果有n级台阶,则有2n-1次方种跳法。
class Solution {
public:
int jumpFloorII(int number) {
if(number == 0)
return 0;
return pow(2,number - 1);
}
};
方式二
思想与方式一相同。
class Solution {
public:
int jumpFloorII(int number) {
if(number == 0)
return 0;
if(number == 1)
return 1;
else
return 2*jumpFloorII(number -1);
}
};



