class Solution {
public:
int divide(int dividend, int divisor) {
long long a = abs((double)dividend);
long long b = abs((double)divisor);
long long res = 0;
int sign = ((dividend ^ divisor) >> 31) ? -1 : 1;
while(a >= b)
{
long long c = b;
for(int i = 0; a >= c; i++, c <<=1)
{
a -= c;
res += 1<<i;
}
}
res = sign * res;
return INT_MIN <= res && res <= INT_MAX ? res : INT_MAX;
}
};
Leetcode: Divide Two Integers
最新推荐文章于 2019-11-30 11:08:51 发布