实现:
输入 123456
输出 654321
如果数字溢出,就返回0
好啦,开始吧~
解题思路
举例 123->321
可以使用这个公式做到翻转:
第一步: 0 * 10 + 3 = 3
第二部:3 * 10 + 2 = 32
第三部: 32 * 10 + 1 = 321
上面3、2、1 就是余数
代码
function reverseNumber(originalNumber){
let result = 0
while(originalNumber>0){
let remainder = originalNumber % 10
// 溢出判断,返回0
if(!Number.isSafeInteger(result) || !Number.isSafeInteger(result * 10) || !Number.isSafeInteger(result * 10 + remainder)){
return 0
}
// 解题思路中公式,不断更新result
result = result * 10 + remainder
originalNumber = Number.parseInt(originalNumber / 10)
}
return result
}
在控制台打出结果:
reverseNumber(123)
321
reverseNumber(2990474529917009)
0