递归代码,和直接循环结果差不多,且空间复杂度更高。
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
# write code here
if base == 0:
return 0
elif exponent == 0:
return 1
else:
mentionDict = {}
def helper(n):
if n ==1 :
return base
if (base, n) in mentionDict:
return mentionDict[(base, n)]
else:
res = base * helper(n - 1)
mentionDict[(base, n)] = res
return res
if exponent < 0:
exponentNew = - exponent
return 1.0 / helper(exponentNew)
else:
return helper(exponent)
京公网安备 11010502036488号