美文网首页leetcode
leetcode算法-7-整数翻转

leetcode算法-7-整数翻转

作者: halapro_liu | 来源:发表于2020-05-20 21:04 被阅读0次

leetcode算法-7-整数翻转

问题描述

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

求解

思路:

  • 首先确认输入参数的正负值
  • 先移除符号位的影响
  • 接着转换到String类型进行翻转
  • 接着对符号位进行处理
  • 最后对数字边界进行处理
/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    let isNegative = x < 0
    let num = isNegative ? -x : x
    let min = -(2 ** 31)
    let max = 2 ** 31 - 1
    num = num.toString().split('').reverse().join('')
    num = isNegative ? -num : num
    if (num < min || num > max) return 0
    return num
};

执行结果

执行用时 :88 ms, 在所有 JavaScript 提交中击败了70.60%的用户
内存消耗 :35.9 MB, 在所有 JavaScript 提交中击败了77.39%的用户
提交结果 执行用时 内存消耗
通过 88ms 35.9MB

相关文章

网友评论

    本文标题:leetcode算法-7-整数翻转

    本文链接:https://www.haomeiwen.com/subject/yiwgohtx.html