Skip to content

Commit 771b727

Browse files
committed
feat(cpp): add reverse_32_bit_integer.cpp
1 parent 142f7f7 commit 771b727

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#include <climits>
2+
3+
int reverse32BitInteger(int n) {
4+
int reversedN = 0;
5+
// Keep looping until we've added all digits of 'n' to 'reversedN'
6+
// in reverse order.
7+
while (n != 0) {
8+
// Extract the last digit of 'n'.
9+
int digit = n % 10;
10+
// Remove the last digit from 'n'.
11+
n /= 10;
12+
// Check for integer overflow or underflow.
13+
if (reversedN > INT_MAX / 10 || reversedN < INT_MIN / 10) {
14+
return 0;
15+
}
16+
// Add the current digit to 'reversedN'.
17+
reversedN = reversedN * 10 + digit;
18+
}
19+
return reversedN;
20+
}

0 commit comments

Comments
 (0)