题目标题

快速幂

参考解析
  1. class Solution:
  2. def Power(self, base, exponent):
  3. # write code here
  4. flag=1
  5. re=1
  6. tmp=base
  7. if exponent==0: #等于0的情况
  8. return 1
  9. if exponent<0: #小于0的时候,设置一个flag,用于返回的时候做判断
  10. flag=0
  11. exponent=abs(exponent)
  12. while exponent>0: #大于0的情况
  13. if exponent&1==1:
  14. re=re*tmp #如果是奇数,奇数减一就是偶数
  15. exponent>>=1 #右移动一位就是除以2
  16. tmp=tmp*tmp #2^6=(2*2)^3
  17. return re if flag else 1/re