Problem Description

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 [-$2^{31}$, $2^{31} - 1$], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

Examples

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Constraints:

解析

給定一個 32-bit 的有號整數 num

要求寫一個演算法來反轉以10為base 的digit

如果是 32-bit 的有號整數

代表第一個位數是是 sign bit 用來表示症負號

代表最小數值是 -$2^{31}$ = 0b1000,0000,0000,0000,0000,0000,0000,0000