-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinteger_reverse.py
More file actions
42 lines (38 loc) · 979 Bytes
/
Copy pathinteger_reverse.py
File metadata and controls
42 lines (38 loc) · 979 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# LeetCode #7. Reverse Integer
#
# Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-2^31, 2^31 - 1], then return 0.
#
# Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
#
# Example 1:
# Input: x = 123
# Output: 321
# Example 2:
# Input: x = -123
# Output: -321
# Example 3:
# Input: x = 120
# Output: 21
#
# Constraints:
# -2^31 <= x <= 2^31 - 1
def reverse(x :int) -> int :
tmpnum = 0
tmpx = abs(x)
while tmpx > 0 :
tmpnum = (tmpnum * 10) + tmpx%10
tmpx = tmpx//10
if not (-2**31 < x < 2**31 - 1 ) :
return 0
return -(tmpnum) if x < 0 else tmpnum
test_ints = [
123,
100,
-456,
0,
987654321,
1000000002,
1000000000000002,
]
for i in test_ints :
print(f'input : {i}, output : {reverse(i)}')