Reverse Integer - LeetCode

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).

Screen Shot 2022-07-01 at 11.25.51 AM.png

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  let stringfiedNumber = String(x);
  let negative = false;
  
  if (stringfiedNumber[0] === '-') {
      negative = true;
      
      stringfiedNumber = stringfiedNumber.slice(1, stringfiedNumber.length);
  }
  
  let reversed = '';
  
  for (let i = 0; i < stringfiedNumber.length; i ++) {
    reversed = String(stringfiedNumber[i]) + reversed
  }
  
  if (negative) reversed = '-' + reversed
  const result = Number(reversed)
  
  if ((-2) ** 31 >= result || result >= (2 ** 31 - 1)) return 0;

  return result
};

Screen Shot 2022-07-01 at 11.26.32 AM.png