回文数

给你一个整数 x ,若是 x 是一个回文整数,返回 true ;不然,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是同样的整数。例如,121 是回文,而 123 不是。markdown

  1. 全部的负数都不是回文数
  2. 整数反转后,和原数比较,若是相同就是回文,可能会出现溢出问题。
  3. 反转一半的整数就不会出现溢出了, 拿一半反转的数和原数的另外一半比较, 若是相同, 就是回文数。
function isPalindrome(x) {
  if (x < 10) {
     return false;
  }
  let revertedNumber = 0;
  while (x > revertedNumber) {
      revertedNumber = revertedNumber * 10 + x % 10;
      x = x / 10 | 0;
  }
  return x === revertedNumber || x === (revertedNumber / 10 | 0)
}
isPalindrome(1221) //true
isPalindrome(1123) //false
复制代码
相关文章
相关标签/搜索