We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 61016be commit 51d5b20Copy full SHA for 51d5b20
1 file changed
coding_interview/reverse_integer/reverse_integer.py
@@ -0,0 +1,28 @@
1
+# Leet Code Problem: https://leetcode.com/problems/reverse-integer/
2
+# Modulus and division of negative number shows some unexpected result int(divider/number) and number % -divisor
3
+
4
+def divide(number, divider):
5
+ return int(number/divider)
6
7
+def mod(number,divisor):
8
+ if number < 0:
9
+ return number % -divisor
10
+ return number % divisor
11
12
+MAX_INT = 2 ** 31 -1
13
+MIN_INT = -2 ** 31
14
15
+def reverse(x):
16
+ res = 0
17
+ while x:
18
+ pop = mod(x,10)
19
+ x = divide(x,10)
20
+ if res > divide(MAX_INT, 10) or (res == divide(MAX_INT,10) and pop > 7):
21
+ return 0
22
+ if res < divide(MIN_INT, 10) or (res == divide(MIN_INT,10) and pop < -8):
23
24
+ res = res * 10 + pop
25
+ return res
26
27
28
+print(reverse(123))
0 commit comments