给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
注意事项
小白考虑事情比较简单,直接将整数x转为字符串,遍历字符串,用第一个和最后一个比较是否全相等,以此类推,有点浪费,但是初次尝试没有想到优等解决办法。
var isPalindrome = function(x) {
var str=String(x);
for(var i=0; i<str.length; i++){
if(str.charAt(i)===str.charAt(str.length-1-i)){
continue
}else{
return false;
break;
}
}
return true
};
其实,比较一半应该就可以的,但是搞不清楚应该怎么表示,就直接遍历了
题解中看到另一种求解方法,简单易理解,搬运过来
因为负数不会是回文数,可以直接排除,剩下的只需要将原本的数字倒过来写一遍看与原数字是否全等即可。
var isPalindrome = function(x) {
if(x<0) return false;
let [rx,k]=[0,x]
while(k>0){
rx=rx*10+k%10
k=parseInt(k/10)
}
return rx===x
}