剑指offer 16 数值的整数次方
注意指数为负数的情况,此时可以base=1/base;exp=-exp再进行后续运算
public class Solution { public double Power(double base, int exponent) { if(exponent==0) return 1; if(exponent==1) return base; if(base==0) return 0; double ans=1.0; if(exponent<0){ exponent=-exponent; base=1/base; } if(exponent%2==0){ ans=Power(base,exponent>>2)*Power(base,exponent>>2); } else ans=base*Power(base,exponent>>2)*Power(base,exponent>>2); return ans; } }