给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
var isPalindrome = function(num) {
let finallyArr=[]
let finallyData=[]
finallyArr=String(num).split('')
for (let i = 0; i < finallyArr.length; i++) {
finallyData.unshift(finallyArr[i])
}
if(JSON.stringify(finallyArr)===JSON.stringify(finallyData)){
return true
}else {
return false
}
};

var isPalindrome = function(x) {
if (x < 0) {
return false
} else {
let temp = x
let res = 0
while (x > 0) {
// 反转x
res = res * 10 + x % 10
// 对x位数减1,并对x取整
x = parseInt(x / 10)
}
return temp == res
}
}

其实这个是我们很容易能够想到的思路就是将数字反转比较即可。 只是在思考如何高效的处理数字反转时,想象不到一个好用的思路
上面这个方法巧用了取余。还是那句话,不要追求100%的效率,而要看看不同的思路,而带来的不同效果。