[My Thoughts..]
Given x is number and type is 'integer'.
1. Make x to string and reverse it. Make it to a number. Define it as 'r' (r is a result) .

Question1: if x<0 ?
For example, if x is 120 and reverse it, it becomes '021'. 
Answer1: If x<0, use abs(), reverse it and make it to a number and add '  ' in front of it.
 Question2: How to convert '021' to an integer? Does it start with '0'?
 Answer2:
>>> int('021')
21
2. "Note" says, "integer within the 32bit signed integer range" : Judge the length of binary number of 'r' whether it is in range of 0 ~ 31
 Question1: If r<0 (r is a reversed integer) and convert it, for example, ' 11 ' will be ' 11 '.
 Answer1: Use abs() and make it to a binary number.
 Question2: Using bin(), it will start with '0b'.
 Answer2: We don't need '0b'. Therefore, len(bin(abs(r)))  2
3. If it is in range of 0~31, return 'r'.
If it is not in range of 0~31, return 0
[My Solution is..]
class Solution:
def reverse(self, x):
self.x=x
if x<0:
r=int(str(abs(x))[::1])
else:
r=int(str(x)[::1])
if len(bin(abs(r)))2 in range(32):
return r
else:
return 0