leetcode上的一个题目,数字溢出问题

原题:https://leetcode.com/problems...

https://img.mukewang.com/5bcd71ab000175fd02560186.jpg

测试了1534236469这个数字,不通过,估计他认为数字溢出了,但是在js中这个数字压根就没有溢出啊
代码:

/**
 * @param {number} x
 * @return {number}
 */var reverse = function(x) {  var s = x<0?x.toString().substring(1):x.toString();  var arr = s.split('');
  arr.reverse();
  s = arr.join('');
  s = x<0?'-'+s:s;
  s = Number(s);  //console.log(s,s>Number.POSITIVE_INFINITY,s<Number.NEGATIVE_INFINITY);
  return s>Number.POSITIVE_INFINITY||s<Number.NEGATIVE_INFINITY?0:s;
};


天涯尽头无女友
浏览 926回答 1
1回答

蛊毒传说

Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows.你对题目理解错误,所以你的溢出代码写错。应该是return&nbsp;s>Math.pow(2,&nbsp;31)&nbsp;-&nbsp;1||s<-Math.pow(2,&nbsp;31)?0:s;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript