题目描述:
Determine whether an integer is a palindrome. Do this without extra space.
Some hints:
Could negative integers be palindromes? (ie, -1)
If you are thinking of converting the integer to string, note the restriction of using extra space.
You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
There is a more generic way of solving this problem.
思路:
注意下负数的问题,应该是可以翻转的。比如-121。还有一个问题,翻转过后出现溢出的问题,返回0,对比前面
第七题,Reserve Integer。
Fuck......自己试了几次,负数居然不是可以翻转的...本来应该是个easy的题吧。应该是很多人卡到负数上了。
我的答案:
def isPalindrome(x):
"""
:type x: int
:rtype: bool
"""
if x < 0:
return False
s = str(x)
if s == s[::-1]:
k = int(s)
if -2**31 < k < 2**31:
return True
else:
return False
else:
return False