判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
var isPalindrome = function(x) {
if (x < 0) return false
let str = x + ''
let len = str.length
let start = 0
let end = len - 1
while(start < end) {
if (str[start] !== str[end]) return false
start++
end--
}
return true
}
var isPalindrome = function(x) {
if (x < 0) return false
let fakeX = x
let reverseX = 0
while (fakeX) {
reverseX = reverseX*10 + fakeX % 10
fakeX = Math.trunc(fakeX / 10)
}
if (reverseX === x) {
return true
}
return false
}
var isPalindrome = function(x) {
if (x < 0 || (x % 10 === 0 && x !== 0)) return false
let fakeX = x
let reverseX = 0
while (fakeX > reverseX) {
reverseX = reverseX*10 + fakeX % 10
fakeX = Math.trunc(fakeX / 10)
}
if (reverseX === fakeX || Math.trunc(reverseX / 10) === fakeX) return true
return false
}