可以认为是动态规划
不断地使用公式
x^n =
(x^(n/2)) ^2, if n 为偶数
x*(x^(n-1)), if n为奇数
class Solution:
def myPow(self, x: float, n: int) -> float:
if n == 0:
return 1
elif n < 0:
n = n*(-1)
x = 1 / x
elif n == 1:
return x
elif n == 2:
return x * x
elif x == 0:
return 0
if n & 1 == 1:#奇数
return self.myPow(x,n-1)*x
else:
return (self.myPow(x,n // 2))**2