Please solve the programming task below using a self-contained code snippet in a markdown code block.

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).
 
Please complete the following python code precisely:
```python
class Solution:
    def reverse(self, x: int) -> int:
```