javascript初探LeetCode之9.Palindrome Number

NO IMAGE

題目

Determine whether an integer is a palindrome. Do this without extra space.

分析

這是leetcode上的第9題,難度為easy,判斷整型數字是否為迴文串,需要注意兩點:

1、負數都不是迴文
2、小於10的非負整數都是迴文

這一題與第7題類似,也可以有兩種思路:陣列法和模十法。由於題目對空間複雜度有要求,所以使用模十法

js實現

模十法:
把給定的x使用模十法逆序一下,與原x的值比較

/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if(x<0) return false;
if(x<10) return true;
var temp = 0;
var org = x;//記錄x的初始值
while(x>9){
temp = x%10 temp*10
x = parseInt(x/10)
}
temp = temp*10   x
return temp == org
};

模十改進版:
上面方法將給的x完全逆序後比較,其實還可以簡化一下。比如整數12321