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

跳台阶扩展问题

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);
    }
};





全部评论

相关推荐

不愿透露姓名的神秘牛友
07-21 13:41
点赞 评论 收藏
分享
07-23 11:23
门头沟学院 Java
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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