一、题目描述:
二、解题思路:
因为输入为整数,然后根据回文数的特点,将输入分为三种情况。
1.输入为0时,一定是回文数,返回True
2.输入为负数时,一定不是回文数,返回False
3.输入为正数时,先将输入的整数,利用python内置函数str(),将正整数转化为字符串类型,为了节省时间,我想利用前后比对的方式进行。以字符串最中间的字符为界,对称的一一比较。如果“左右对称”,则返回True。中间如果“不对称”,则返回False。
三、代码:
class Solution:
def isPalindrome(self, x: int) -> bool:
# 输入整数为0时
if x == 0:
return True
# 输入整数为负数时
elif x < 0:
return False
# 输入整数为正数时
else:
# 将正整数转为字符串类型
x_string = str(x)
i = 0
l = len(x_string)
while i <= (l//2):
# 左右"对称"比较
if x_string[i] != x_string[l-i-1]:
return False
# 为回文数时的,最终临界条件
elif i == l//2 and x_string[i] == x_string[l-i-1]:
return True
# 循环i
else:
i = i + 1