7. Reverse Integer

Given a 32-bit signed integer, reverse digits of an integer.

Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: `[−231,  231 − 1]`. For this problem, assume that your function returns `0` when the reversed integer overflows.

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 - 1`

7. Reverse Integer
``````struct Solution;

impl Solution {
fn reverse(x: i32) -> i32 {
let x_str = x.abs().to_string().chars().rev().collect::<String>();
if let Ok(y) = x_str.parse::<i32>() {
x.signum() * y
} else {
0
}
}
}

#[test]
fn test() {
let x = 2_147_483_647;
let res = 0;
assert_eq!(Solution::reverse(x), res);
let x = 123_456_789;
let res = 987_654_321;
assert_eq!(Solution::reverse(x), res);
let x = -123;
let res = -321;
assert_eq!(Solution::reverse(x), res);
}
``````