leecode/math50

题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution:
def myPow(self, x: float, n: int) -> float:
if n == 0:
return 1
if n > 0:
return self.core_func(x, n)
if n < 0:
return 1 / self.core_func(x, -n)
def core_func(self, x, n):
if n == 1:
return x
if n % 2 == 0:
a = self.myPow(x, n//2)
return a*a
else:
a = self.myPow(x, n //2)
return a * a * x