1. 题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21
注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
2. 解题思路
可以先忽略数字的正负,因为正负不会影响最后结果,最后加上就可以。
(1)首先判断输入的是否是数字
(2)将数字转换为字符串,去除正负号,使用字符串的翻转函数对其进行操作
(3)将得到的结果添加正负号
(4)返回最后的结果
3. 代码实现
/*** @param {number} x* @return {number}*/var reverse = function(x) {if(typeof x !='number'){return;}const MIN = -2147483648;const MAX = 2147483647;const res=x>=0?String(x).split('').reverse().join(''):String(x).slice(1).split('').reverse().join('');const result = x>=0?parseInt(res):0-parseInt(res);if(result>=MIN && result<=MAX){return result;}else{return parseInt(0); // 不在范围之内时返回0}};
4. 提交结果

