记一次力扣算法:回文数
一种方法就是将数变成字符串,用切片倒序的方法[::-1]和原数进行比较。
另一种方法就是把数分成两半,再将后半部分进行反转,看是否与前半部分相同。
这个就要懂得如何得到反转后半部分的数字?(例如12321)
先把12321 % 10 得到 1,再12321//10得到1232,再1232%10得到2,1*10+2=12,就得到了反转后的后两位数,再1232//10=123,123%10=3,12*10+3=123。直到反转的后半部分数大于现在的数,即123>(123//10=12),这个过程就结束了。
代码如下:(python)
Class Solution(object):
def isPalindrome(self,x):
if x < 0 or (x % 10 ==0 and x != 0):
return False
while x>rNum:
rNum=rNum * 10 + x %10
x = x // 10
if x == rNum or x == (rNum//10):
return True
else:
return False