Leetcode 50. Pow(x, n)

实现Pow(x, n), 使用二分n的办法进行递归。

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

 

posted @ 2016-12-13 13:00  lettuan  阅读(94)  评论(0编辑  收藏  举报