原文:9. 回文数(力扣 面试题) - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/leetcode/leetcode-javascript-solution-009/

题目描述:

难度:Easy

相关话题:数学

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:

你能不将整数转为字符串来解决这个问题吗?


思路:

使用字符串就是判断回文字符串,很简单。

而不是用字符串就是NO.7,反转一个数字,然后比较它们是否相等;

注意:如果遇到负数直接返回false

/**
 * @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/
 * @介绍:一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
  if(x<0)return false
  let n=x
  let rev=0
  while(n>0){
    let t=n%10
    rev=rev*10+t
    n=~~(n/10)
  }
  return rev===x
};

扩展阅读: