迴文數

給你一個整數 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
複製代碼
相關文章
相關標籤/搜索