#7 Reverse Integer

算法很简单 主要考虑的是题目溢出问题和100这类的解决方案。
有点小忘负数的二进制表达方法 于是复习了一下反码补码

32位有符号整数
最小
1000 0000 0000 0000 0000 0000 0000 0000 = -2147483648
最大
0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647

/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
  var s = 0,MAX = 2147483647,MIN = -2147483648,flag = 1;
  if(x < 0) {
    x = -x;
    flag = -1;
  }
  while(x > 0) {
    s = s * 10 + x % 10;
    x = parseInt(x / 10);
  }
  if(s > MAX || s < MIN) {
    s = 0;
  }
  s = s*flag;
  return s;
};

你可能感兴趣的:(#7 Reverse Integer)