tailgo / poorguy-fly

1 stars 0 forks source link

7. 整数反转(简单) - https://leetcode-cn.com/submissions/detail/18971048/ #7

Open zhaojianing opened 5 years ago

zhaojianing commented 5 years ago

执行用时 : 104 ms, 在Reverse Integer的JavaScript提交中击败了98.17% 的用户 内存消耗 : 35.3 MB, 在Reverse Integer的JavaScript提交中击败了95.45% 的用户

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    var y = 0;
    while (x) {
        y = y*10+x%10;
        x = x/10>>0;
    }
    if( Number(y)<Math.pow(-2, 31)||Number(y)>Math.pow(2, 31)-1){
          y=0;
    }
    return y
};
tailgo commented 5 years ago
/**
 * @param {number} x
 * @return {number}
 */
// 使用语言特性法,简短但是真的慢
// 执行用时 : 140 ms, 在Reverse Integer的JavaScript提交中击败了45.94% 的用户
// 内存消耗 : 35.6 MB, 在Reverse Integer的JavaScript提交中击败了69.57% 的用户
var reverse = function(x) {
    var pos = 1;
    if (x < 0) pos = -1;
    var r = pos * +String(Math.abs(x)).split('').reverse().join('');
    if (r > 2147483647 || r < -2147483648) return 0;
    return r;
};
tailgo commented 5 years ago

96 ms | 35.5 MB

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    var pos = 1;
    if (x < 0) pos = -1;
    x = x * pos;

    var r = 0;
    while (x) {
        r = r * 10 + x % 10;
        x = ~~(x / 10);
    }
    r = r * pos;
    if (r > 2147483647 || r < -2147483648) return 0;
    return r;
};