给定一个范围为 32 位 int 的整数,将其颠倒。
例 1:
输入: 123
输出: 321
例 2:
输入: -123
输出: -321
例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能处理 32 位 int 范围内的整数。根据这个假设,如果颠倒后的结果超过这个范围,则返回 0。
思路:想到对一个数的reverse,可以用对这个数依次除10,结果乘10+余数,加上对溢出的判断就好了
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
let res = 0;
while(x){
res = res * 10 + x % 10;
x = parseInt(x / 10);
}
if(res > Math.pow(2,31) || -res > Math.pow(2,31)){
res = 0
}
return res;
};