/*第一种解法 递归*/
class Solution {
public:
int jumpFloorII(int number) {
if(number == 1 || number == 0)
return 1;
return 2 * jumpFloorII(number-1);
}
};
/*第二种解法 非递归硬算*/
class Solution {
public:
int jumpFloorII(int number) {
int res = 1;
if(number == 0 || number == 1)
return res;
for (int i = 2; i <= number; i++)
res *= 2;
return res;
}
};
/*第三种解法 位运算*/
class Solution {
public:
int jumpFloorII(int target) {
return 1 << (target - 1);
}
};

京公网安备 11010502036488号