Medium
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 [-231, 231 - 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
Example 4:
Input: x = 0
Output: 0
Constraints:
-231 <= x <= 231 - 1import "math"
func reverse(x int) int {
	var r int
	for ok := true; ok; ok = x != 0 {
		if r > math.MaxInt32/10 || r < math.MinInt32/10 {
			return 0
		}
		r = (x % 10) + (r * 10)
		x /= 10
	}
	return r
}