description:
7. Reverse Integer
Easy
2949
4654
Add to List
Share
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers
within the 32-bit signed integer range: [−231, 231 − 1].
For the purpose of this problem,
assume that your function returns 0 when the reversed integer overflows.
code:
func reverse(x int) int {
const INT32_MAX_10 = int(^uint32(0) >> 1 / 10)
retRev := int(0)
for x != 0 {
if int(math.Abs(float64(retRev))) > INT32_MAX_10 {
return 0
}
retRev, x = retRev * 10 + x % 10, x / 10
}//for x != 0
return retRev
}
result:
personal opinion: