【leetcode❤python】 9. Palindrome Number
#回文数
#Method1:将整数转置和原数比较,一样就是回文数;负数不是回文数
#这里反转整数时不需要考虑溢出,但不代表如果是C/C++等语言也不需要考虑
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
if x<0:return False
#负数不是回文数,return False
xre=x
ans=0
while x>0:
ans=ans*10+x%10
x=x//10
if ans>21474836547:
ans=0
print ans ,xre
return ans==xre
#Method2:不反转整数,将数字逐个分离,比较最前与最后是否一样
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
if x<0:return False
#负数不是回文数,return False
digits=1
while x/digits>=10:
digits*=10
while digits>1:
right=x%10
left=x/digits
if left!=right:return False
x=(x%digits)/10
digits/=100
return True