判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
思路一:把整数转化为字符串,再进行切片
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
temp=str(x)
return temp==temp[::-1]
思路二:通过相除或者相余得到x(整数的前半部分)和a(后半部分的逆序),比较x和a。若整数的位数为偶数,则x=a,若整数的位数为奇数,则x=a//10(取整)。
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
a=0
if x<0 or(x!=0 and x%10==0):
return False
while x>a:
a=a*10+x%10
x=x//10
return (x==a or x==a//10)