在JS中,回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,求回文数的方法:先将数字转为数组;然后使用reserve()颠倒数组中元素的顺序;再将反转后的数组转换为数字;最后使用“===”运算符进行相等比较,如果相等则为回文数。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。
因此它不是一个回文数。
示例3:
输入: 10 输出: false
解释: 从右向左读, 为 01 。
因此它不是一个回文数。
解题思路
我用的解法是字符串翻转,先将测试的数字转为字符串,因为数组有reserve()的方法,所以需要把字符串转为数组在进行翻转
/** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { // 负数不是一个回文数 if(x<0){ return false } // 对大于0的数进行判断 else if(x>=0){ let str = x.toString() //转化为字符串 let arr = str.split('') //转化为数组 let res = Number(arr.reverse().join('')) if(x===res){ return true }else if(arr[0]===0){ return false }else if(str!==res){ return false } } };
【