# 题目描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
LeetCode地址:https://leetcode-cn.com/problems/palindrome-number/
示例一🌰:
输入: 121
输出: true
@前端进阶之旅: 代码已经复制到剪贴板
示例二🌰:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
@前端进阶之旅: 代码已经复制到剪贴板
示例三🌰:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
@前端进阶之旅: 代码已经复制到剪贴板
# 解题思路1
这题的解题思路类似于leetcode上的第五题《最长回文子串》, 但比那题要简单很多.
在这里还是可以使用中心扩展法
- 考虑输入的值为空的情况;
- 将数字转换为字符串, 考虑长度为
1或者2的情况; - 判断字符串的长度
len是奇数还是偶数; - 获取字符串中间的那个索引
midIndex; - 若
len为奇数, 则从midIndex向两边进行扩展判断; - 若
len为偶数, 则从midIndex-1项和midIndex项向两边扩展判断;
# coding1
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if (x === null || x === undefined || x === '') return false;
x += ""
const len = x.length
if (len === 1) return true;
if (len === 2) return x[0] === 