一 问题描述
Reverse Integer
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
翻译:
给定一串32位的有符号整数,将这个整数颠倒。假定运行环境最多只能支持32位的整数,并且假定如果溢出函数返回0。
二 解法
1. 第一解法(个人)
思路:
在js中,array对象有一个reverse方法用于颠倒数组。Math.pow(x, y)计算x的y次方,用于验证是否溢出。
代码:
var reverse = function(x) {
let flag = x > 0;
let str = x.toString().split("").reverse().join("");
var num = parseInt(str);
if(num > Math.pow(2, 31)){
return 0;
}
return flag ? num : -num;
};
结果:
1032 / 1032 test cases passed.
Status: Accepted
Runtime: 76 ms
Memory Usage: 35.8 MB
By DoubleJan
2019.7.6