
image.png
題目意思是求一個數(shù)字是不是回文,然后提示說,注意負數(shù),還有就是數(shù)字反轉(zhuǎn)可能會溢出,所以就是說不能用字符串反轉(zhuǎn)判斷。
方法是,設兩個變量,一個從左往右,一個從右往左,取數(shù)字變成的字符串,判斷兩個相同不就行了
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function (x) {
// 負數(shù)不是回文
if (x < 0) {
return false
}
// 個位數(shù)是回文
// if (x >= 0 && x < 10) {
// console.log(true)
// }
// 一個從左往右,一個從右往左判斷
var s = x.toString()
var left = 0,
right = s.length - 1
// 在這個循環(huán)中,可以判斷個位數(shù)的情況,所以把個位數(shù)的判斷整合到了這里
while(right - left >= 1) {
if (s.charAt(left) != s.charAt(right)) {
return false
}
left++
right--
}
return true
};