题解 | #跳台阶扩展问题#

跳台阶扩展问题

http://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387

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





全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务