自己写的太麻烦,看到题解可以用更简便的算法
var reverse = function(x) {
let reverseNumber = parseInt(x.toString().split('').reverse().join(''))
if (x > 0) {
return reverseNumber > Math.pow(2, 31) - 1 ? 0 : reverseNumber
} else {
return -reverseNumber < -Math.pow(2, 31) ? 0 : -reverseNumber
}
};
知识点:
(1)去掉字符串开头的所有0
s.replace(/^0{1,}/, '')
(2)x 的 y 次幂
Math.pow(x, y)
(3)绝对值
Math.abs(x)
(4)取相反数,直接前面加负号就行
-x
(5)字符串转成数字,直接 parseInt 就行,就不用考虑前面去不去掉开头的0了