Reverse Integer

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 [-231, 231 - 1], then return 0.

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

 

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

 

Constraints:

Solution (JavaScript)

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(y) {
    var reverseAbs = function(x){
        if (x == 0) return '';
        return x%10 + reverseAbs(Math.floor(x/10));
    }
    var limit = 2147483648;
    var rvsdY = reverseAbs(Math.abs(y));
    
    if(rvsdY > limit || y == 0) return 0;
    return parseInt((y < 0 ? '-' : '') + rvsdY);
};