title: 整数反转
date: 2019-08-09 00:00:00
categories:

  • 力扣一题
    tags:
  • JavaScript
  • 算法

题目描述

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例1:

  1. 输入: 123
  2. 输出: 321

示例2:

  1. 输入: -123
  2. 输出: -321

示例3:

  1. 输入: 120
  2. 输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为: 整数反转 - 图1请根据这个假设,如果反转后整数溢出那么就返回 0。

我的解法

  1. /**
  2. * @param {number} x
  3. * @return {number}
  4. */
  5. var reverse = function(x) {
  6. let str = x.toString()
  7. let strArr = str.split('')
  8. let result = []
  9. if(strArr[0] === '-') {
  10. let arr = strArr.reverse()
  11. result = parseInt('-' + arr.slice(0, arr.length - 1).join('').toString())
  12. } else {
  13. result = parseInt(strArr.reverse().join('').toString())
  14. }
  15. return (result > 2147483647 || result < -2147483648) ? 0 : result
  16. };

最优解

记录

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer/