题目描述:
给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。
如果反转后整数超过32位的有符号整数的范围 [ -2^31 , 2^31 -1 ],就返回0.
示例:
输入: x = 123
输出:321
思路:先将x从Number对象转成String对象,用String对象的方法split将String分割成Array,然后用Array对象的reverce方法进行翻转,再用Array对象的join方法将Array转成String,最后用parseInt将String变回Number。
因为分割成字符数组的原因,最后一步处理的String在x<0时会失去结尾的负号,所以x<0时结果加负号。
最后return时用三目进行判断,以满足题目要求。
function reverse(x) {
const y = parseInt(x.toString().split("").reverse().join(""));
if (x < 0) {
y = -y;
}
return y > 2147483647 || y < -2147483647 ? 0 : y;
}