题目描述:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121输出: true
示例 2:
输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数
算法实现:
JavaScript
/*** @param {number} x* @return {boolean}*/var isPalindrome = function(x) {if (x < 0) {return false} else if (x >= 0) {var flag = 1var help = xwhile (help >= 10) {flag *= 10help = parseInt(help / 10)}while (x != 0) {if (x % 10 != parseInt(x / flag)) {return false}x = parseInt(x % flag / 10)flag = parseInt(flag / 100)}return true}};
思路:
小于0的均不是回文数,在大于等于0的情况下,通过首位和末位的相等对比进行判断是否为回文数,由此可以通过循环的方式逐层进行比较。
总结:
需要注意parseInt()方法在本题中的运用,在提取首位数字和末尾数字的时候应该思考严密,防止出错。
