leetcode第50题 Pow(x,n)
for循环形式:
class Solution {
public double myPow(double x, int n) {
//这个题目还是出的挺好的
double res = 1.0;
for(int i = n;i != 0;i /= 2){
if(i % 2 != 0){
res *= x;
}
x *= x;
}
return n < 0? 1 / res : res;
}
}
递归的写法
func myPow(x float64, n int) float64 {
//我真的非常的确定我以前是做个这个题目的
if n == 0{
return 1
}
if n < 0{
return myPow(1 / x, -n)
}
temp := myPow(x,n >> 1)
if n & 1 == 0{
return temp * temp
}
return temp * temp * x
}