Implement pow(x, n).
Notice
You don't need to care about the precision of your answer, it's acceptable if the expected answer and your answer 's difference is smaller than1e-3
.
Pow(2.1, 3) = 9.261
Pow(0, 1) = 0
Pow(1, 0) = 1
1 public class Solution { 2 public double myPow(double x, int n) { 3 return helper(x, n); 4 } 5 6 private double helper(double x, long n) { 7 if (n == 0 || x == 1) return 1; 8 if (x == 0) return 0; 9 10 if (n < 0) return 1 / helper(x, -n); 11 12 double result = helper(x, n / 2); 13 if (n % 2 == 0) { 14 return result * result; 15 } 16 return result * result * x; 17 } 18 }