Divide Two Integers LeetCode solution in C++

1
class Solution {
2
public:
3
int divide(int dividend, int divisor) {
4
if (dividend == INT_MIN && divisor == -1) {
5
return INT_MAX;
6
}
7
long dvd = labs(dividend), dvs = labs(divisor), ans = 0;
8
int sign = dividend > 0 ^ divisor > 0 ? -1 : 1;
9
while (dvd >= dvs) {
10
long temp = dvs, m = 1;
11
while (temp << 1 <= dvd) {
12
temp <<= 1;
13
m <<= 1;
14
}
15
dvd -= temp;
16
ans += m;
17
}
18
return sign * ans;
19
}
20
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0