Determine whether an integer is a palindrome. Do this without extra space.
我不知道说啥…刚开始用的是 str…结果说不让用额外空间,就用了…
然后先计算有多少位,再取出每一位进行比较…
相对较慢。暂时想不到优化办法…反转int…呵呵。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x < 0 : return False i = 10 bit = 1 while x >= i : bit += 1 i *= 10 for i in range(bit/2) : if int(x/math.pow(10,i)%10) != int(x/math.pow(10, bit-i-1)%10) : return False return True; |
str方法也上一下,还是不错的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x < 0 : return False else : s = str(x) for i in range(int(len(s)/2)) : if s[i] != s[len(s) - i - 1] : return False return True; |
【LeetCode】9. Palindrome Number