1. 题目描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121输出: true
示例 2:
输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。
2. 解题思路
最直接的方法就是将数字转化为字符串,翻转之后再和原来的数字进行对比。
另外一种方法就是,使用%10 的while结合的方法对数字进行翻转,在进行对比
3. 代码实现
转为字符串:
/*** @param {number} x* @return {boolean}*/var isPalindrome = function(x) {return x.toString() == x.toString().split("").reverse().join("");};
翻转:
/*** @param {number} x* @return {boolean}*/var isPalindrome = function(x) {let s = 0;let x1 = x;while (x1 > 0) {s = s * 10 + x1 % 10;x1 = parseInt(x1 / 10);}return s == x;};
4. 提交结果
第一种方法:
第二种方法:
