5-整数反转Reverse Integer
Last updated
Was this helpful?
Last updated
Was this helpful?
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21 注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−$2^{31}$, $2^{31}$ − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
如果是正数,就反转
如果是负数,就拆了负号,反转,再按回负号
提交前判断溢出的情况
作者:cuidingfeng 链接:
Runtime: 68 ms, faster than 94.53% of JavaScript online submissions for Reverse Integer.
Memory Usage: 35.9 MB, less than 45.88% of JavaScript online submissions forReverse Integer.
题目意思是,给一串数字,按位反着输出,如果在 [−$2^{31}$, $2^{31}$ − 1]之外,就输出0。 那么数字怎么反着输出呢? 记得数组有反转的方法:.reverse()
所以思路是:数字转数组,数组反一下,再转回数字。 不过number[]
转回数字好像不太方便,因此就用字符串过渡一下。
Runtime: 80 ms, faster than 68.53% of JavaScript online submissions forReverse Integer.
Memory Usage: 36 MB, less than 36.74% of JavaScript online submissions for Reverse Integer.
想办法优化一下? if
判断的时候可以没必要直接计算reverse
的值,可以先判断长度。
长度长于10,必然溢出
长度等于10,再上判断