100天每日一题(day8)
题解:这题主要就是防止超时,所以用递归,还不能用普通的递归。每次递归只调用一遍myPow函数
class Solution:
def myPow(self, x: float, n: int) -> float:
if n == 0:
return 1
if n == 1:
return x
if n < 0:
return 1 / self.myPow(x, -n)
return self.myPow(x*x, n // 2) if n % 2 == 0 else x*self.myPow(x, n - 1)