一、什么是回文数

回文数指的是一个数字,从左到右读和从右到左读是一样的,比如“12321”,“123321”等等,在 leetCode 中,回文数的定义是:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

二、leetCode 中回文数的示例分析

在 leetCode 中,关于回文数的示例分析如下:

1、示例 1:输入: 121,输出: true。因为 121 的正序(从左向右)和倒序(从右向左)读都是一样的,故输出 true。

2、示例 2:输入: -121,输出: false。因为 -121 的正序(从左向右)和倒序(从右向左)读不是一样的,故输出 false。

3、示例 3:输入: 10,输出: false。因为 10 的正序(从左向右)和倒序(从右向左)读不是一样的,故输出 false。

三、leetCode 中回文数实现原理

leetCode 中回文数的实现原理是:将输入的数字转换成字符串,然后将字符串反转,之后将反转后的字符串转换成数字,最后比较转换前后的数字是否相等,如果相等则说明是回文数,否则不是回文数。

以示例 1 为例,输入的是 121,转换成字符串后为“121”,反转后为“121”,转换成数字后为 121,转换前后的数字相等,故判断 121 是回文数。

实现代码如下:

123456789
JavaScript

function isPalindrome(x) {
const reverseNum = Number(String(x).split('').reverse().join(''));
return x === reverseNum;
}