问题
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121
Output: true
Example 2:
Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Follow up:
Coud you solve it without converting the integer to a string?
too young 思路
回文能想到的方法就是栈了,想根据反转整数那道题那样,把数字当成字符串来处理。或者干脆直接反转看看是不是同一个,还省去了入栈出栈的复杂。
值得庆贺,本次too young的想法并不too simple,击败了97.75%的答案
#140ms-97.75%
class Solution(object):
def isPalindrome(self, x):
a = cmp(x,0)
s = a*x
y = int(`s`[::-1])
return (x == y)