题目:
python3代码:
简单版:
class Solution:
def myPow(self, x: float, n: int) -> float:
return x ** n
递归版:
class Solution:
def myPow(self, x: float, n: int) -> float:
if n == 0:
return 1
if n < 0:
return 1 / self.myPow(x, -n)
if n % 2 != 0:
return x * self.myPow(x, n-1)
if n % 2 == 0:
return self.myPow(x*x, n/2)
由于这道题是有时间限制的,就不能使用x * x * x * x … x 这种思路来做,就得换另一种思路。
递归里的思路很清晰,很容易理解。
如果觉得不错,就点赞关注留言吧~
谢谢~