7. Reverse Integer

Difficulty:
Related Topics:
Similar Questions:

Problem

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

Example 1:

Input: 123
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: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

Solution

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  var INT_MAX = 2147483647;
  var INT_MIN = - INT_MAX - 1;
  var res = 0;
  var num = x;
  while (num !== 0) {
    res = (res * 10) + (num % 10);
    num = num > 0 ? Math.floor(num / 10) : Math.ceil(num / 10);
    if (res > INT_MAX || res < INT_MIN) return 0;
  }
  return res;
};

Explain:

nope.

Complexity: