题目详细:https://leetcode-cn.com/problems/palindrome-number/description/
将字符串转化成数组,得到中间的值,向两边遍历比较。注意字符串位数的奇偶会影响遍历时的取值。
/** * @param {number} x * @return {boolean} */
var isPalindrome = function(x) {
var len = x.toString().length;//将整数转化为字符串求得其长度
var arr = x.toString().split("");//将整数转化为字符串再存到数组中
var mid = Math.ceil(len / 2);
//存在数组中时,数组从0开始计数,中间的数为mid-1
var i, j;
//如果整数位数为偶数,
if((len % 2) === 0 ) {
j = mid + 1;
if(arr[mid] !== arr[mid - 1]) {
return false;
} else {
for (i = mid - 2;i >= 0 ; i--) {
if(arr[i] !== arr[j] ) {
return false;
} else {
j++;
}
}
}
} else { //整数位数为奇数
j = mid;
for (i = mid - 2;i >= 0 ; i--) {
if(arr[i] !== arr[j] ) {
return false;
} else {
j++;
}
}
}
return true;
};