Pow(x, n)
Implement pow(x, n).
数据结构书上的原题,也是一个经典题.直接上手写了,但第一次没过.因为没考虑到n为负数的情况.第二次AC.
时间复杂度O(logn)
C++:
class Solution { public: double pow(double x, int n){ return n<0?1/_pow(x,-n):_pow(x,n); } double _pow(double x, int n) { if (n == 0){ return 1; } else if(n == 1){ return x; } else{ double y = pow(x, n / 2); if(n % 2 == 0){ return y * y; } else{ return y * y * x; } } } };