整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
解题思路
将输入的数组转化为字符串数组,利用数组的内置函数对字符串进行反转后,再转成数字形式输出,需要注意的是判断正负号,当输入为负数时,需要先把符号去掉,在进行反转,在输出时再求反输出。其次,便是需要注意整数溢出问题。
/**
* @param {number} x
* @return {number}
*/
//将数组转变成字符串数组,再判断求解
var reverse = function(x) {
var a = x.toString().split('') //转换成字符串数组
//判断是否有负号
if(a[0] != '-'){
var num = Number(a.reverse().join(''))
if(num <= 2147483647 && num >= -2147483648){
return num
}else{
return 0
}
}else{
delete(a[0])
var num = Number(a.reverse().join(''))
if(num <= 2147483647 && num >= -2147483648){
return ~num+1 //取反操作,求正数的负数
}else{
return 0
}
}
};