题目:
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
示例1:
输入: x = 121
输出: true
思路:
这道题相对而言比较简单,重点是我们可以通过这道题来了解解这种有关 “回文” 题惯用的思路是什么,那就是,从循环遍历的过程中向两边遍历,或者直接从两边开始向内遍历,这道题就是要注意的是,这里判断的是回文数,给我们的是一个整数,所以在进入逻辑处理前就需要将这个整数转换为字符串。回归到题目,既然是回文数,自然小于零的负数就不算,所以非正整数就可以直接返回false , 这道题相对而言比较简单,不需要记录长度也不需要存储已知的最长回文,那么可以直接从外侧向内遍历,只需要在循环内判断 str[i] === str[str.length-1 - i] 不等直接返回false ,等于则继续判断,知道循环结束,最终返回true
代码:
var isPalindrome = function (x) {
if(x>=0){
let str = x.toString()
for(let i = 0;i < str.length / 2;i++){
if(str[i] != str[str.length - 1 - i]){
return false
}
}
return true
}else{
return false
}
};