Divide Two Integers LeetCode solution in Java

1
class Solution {
2
public int divide(int dividend, int divisor) {
3
if (dividend == 1 << 31 && divisor == -1) {
4
return Integer.MAX_VALUE;
5
}
6
boolean sign = (dividend >= 0) == (divisor >= 0) ? true : false;
7

8
dividend = Math.abs(dividend);
9
divisor = Math.abs(divisor);
10

11
int result = 0;
12
while (dividend - divisor >= 0) {
13
int count = 0;
14
while (dividend - (divisor << 1 << count) >= 0) {
15
count++;
16
}
17
result += 1 << count;
18
dividend -= divisor << count;
19
}
20
return sign ? result : -result;
21
}
22
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0