50. Pow(x, n)

求x的n次幂。

思路:递归,注意负数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution:
def myPow(self, x, n):
"""
:type x: float
:type n: int
:rtype: float
"""
# 4 star, 递归
if n == 0:
return 1.0
elif n < 0:
return 1 / self.myPow(x, -n)
elif n % 2 == 1:
return self.myPow(x*x, n//2) * x
else:
return self.myPow(x*x, n//2)