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

    Example 1:

    1. Input: 123
    2. Output: 321

    Example 2:

    Input: -123
    Output: -321
    

    Example 3:

    Input: 120
    Output: 21
    

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

    /**
     * @param {number} x
     * @return {number}
     */
    var reverse = function(x) {
        const radixs = [];
        let result = 0;
        let _x = Math.abs(x);
        while (!isNaN(_x) && _x > 0) {
            radixs.push(_x % 10);
            _x = parseInt(_x / 10);
        }
        for (let i = 0; i < radixs.length; i++) {
            result += Math.pow(10, radixs.length - i -1) * radixs[i];
        }
        if (result > Math.pow(2, 31) - 1) {
            return 0;
        }
        return x > 0 ? result : -result;
    };