7. Reverse Integer

동청·2022년 9월 12일
0

leetcode

목록 보기
3/39

Problem

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

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Constraints:

  • -231 <= x <= 231 - 1

Solution

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  let t = false;

    if (x < 0) {
      t = true;
      x = Math.abs(x);
    }

    let arr = Array.from(String(x))
    
    if(arr[arr.length - 1] === "0") {
      arr.pop()
    }

    let num = Number(arr.reverse().join(""))

    if (num < -2147483648 || num > 2147483647) {
      return 0
    }

    if (t) {
      return num * -1
    } else {
      return num
    }
};

0개의 댓글