JS力扣题目解析之整数反转
- 讲解都在注释里面,看不懂就改行吧
// 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
var reverse = function(x){
//思路:想要将有符号整数反转,可以将其转为数组形式进行反转,在将其拼接为字符串返回
//先将该数字转为绝对值,在最后判断正负
var s = Math.abs(x)
console.log(s)
//传入的数字为number类型,应该先转为字符串
var str = s.toString();
//将字符串拆分并装入arr中
var arr = []
arr = str.split("");
//数组反转
arr.reverse()
// console.log(arr)
//字符串拼接:如果反转之后首位为0,那么应该将该位取出
if(arr[0] == 0){
//将首位删去
arr.shift();
var str2 = arr.join("")
}
else{
var str2 = arr.join("")
console.log(str2)
}
//注意:如果当取绝对值大于等于2^31时,计算机溢出,返回0
if(str2 >= Math.pow(2,31)){
return 0;
//如果该判断成立,那么下面代码将不执行
}
//判断该数是否为负数
if(x < 0){
return "-" + str2
}
else{
return str2
}
}