整数反转

难度:简单

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

示例:

输入: 123
输出: 321

输入: -123
输出: -321

输入: 120
输出: 21
1
2
3
4
5
6
7
8

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

思路分析:

  1. 判断x是否大于0,大于0则直接先分割成数组再反转,小于0后反转后再加上-
  2. 比较反转后的值是否再数值范围内

代码实现:

var reverse = function(x) {
    let re=x>=0 ? Number.parseInt(x.toString().split('').reverse().join('')) : Number.parseInt('-'+x.toString().split('').reverse().join(''))
    re=re<(-2)**31 || re>(2**31)-1 ? 0 : re
    return re;
};
1
2
3
4
5
最后更新时间: 10/13/2019, 8:24:06 PM