const myPow = (x, n) => {
if (n === 0) return 1;
if (n < 0) return 1 / myPow(x, -n);
if (n & 1) return x * myPow(x, n - 1);
return myPow(x * x, n / 2);
};
这是官网题解
var divide = function(a, b) {
if(a == -2147483648 && b == -1){
return 2147483647
}
// tag为true表示结果为负数,false表示结果为正数
let tag = false
if((a > 0 && b < 0) || (a < 0 && b > 0)){
tag = true
}
// 把两数都置为正数
a = a > 0 ? a : -a
b = b > 0 ? b : -b
let res = 0
while(a >= b){
let base = b
let count = 1
while(a >= base){
a -= base
res += count
base *= 2
count *= 2
}
}
return tag ? -res : res
};