x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。121
是回文,而 123
不是。输入:x = 121
输出:true
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
输入:x = -101
输出:false
-231 <= x <= 231 - 1
- 负数,
0
,10
的倍数,都不可能是回文数。
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function (x) {
if (x < 0 || (x !== 0 && x % 10 === 0)) {
return false;
} else {
const str = x + "";
const strLen = str.length;
const mid = Math.floor(str.length / 2);
for (let i = 0; i < mid; i++) {
if (str[i] !== str[strLen - i - 1]) {
return false;
}
}
}
return true;
};
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function (x) {
if (x < 0 || (x !== 0 && x % 10 === 0)) {
return false;
} else if (String.prototype.split.call(x, "").reverse().join("") != x) {
return false;
}
return true;
};
/**
* @param {number} x
* @return {number}
*/
var isPalindrome = function (x) {
if (x < 0 || (x !== 0 && x % 10 === 0)) return false;
let x2 = x,
res = 0;
while (x2) {
res = res * 10 + (x2 % 10);
x2 = ~~(x2 / 10);
}
return res === x;
};
原文:https://www.cnblogs.com/frank-link/p/14642739.html