var isPalindrome = function (x) {
if (x < 0) return false;
let s = x.toString();
let len = s.length;
let i = 0;
let j = len - 1;
while (i < j) {
if (s[i] !== s[j]) {
return false;
}
i++;
j--;
}
return true;
};
console.log(isPalindrome(121)); // true
console.log(isPalindrome(-121)); // false
console.log(isPalindrome(10)); // false
console.log(isPalindrome(12321)); // true
console.log(isPalindrome(0)); // truevar isPalindrome = function (x) {
if(x < 0 || (x % 10 === 0 && x !== 0)) return false;
let reversed = 0;
// 当x <= reversed时,说明已经处理完一半的数字
// 例如:12321,处理到12时,reversed为21
while (x > reversed) {
reversed = reversed * 10 + x % 10;
x = Math.floor(x / 10);
}
return x === reversed || x === Math.floor(reversed / 10);
};
console.log(isPalindrome(121)); // true
console.log(isPalindrome(-121)); // false
console.log(isPalindrome(10)); // false
console.log(isPalindrome(12321)); // true
console.log(isPalindrome(0)); // true