剑指offer-数值的整数次方12

class Solution:
    def Power(self, base, exponent):
        # write code here
        if base==0:
            return 0
        if exponent==0:
            return 1
        e=abs(exponent)
        tmp=base
        res=1
        while e>0:
            if e&1==1:
                res*=tmp
            e=e>>1
            tmp=tmp*tmp
        if exponent>0:
            return res
        else:
            return 1/res

采用快速幂算法https://www.cnblogs.com/CXCXCXC/p/4641812.html

posted @ 2019-02-21 17:04  Cool小子  阅读(74)  评论(0编辑  收藏  举报