/*第一种解法 递归*/
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);
    }
};