Python——LeetCode刷题——【9. 回文数】

一、题目描述:

Python——LeetCode刷题——【9. 回文数】_第1张图片

二、解题思路:

因为输入为整数,然后根据回文数的特点,将输入分为三种情况。
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

四、结果

Python——LeetCode刷题——【9. 回文数】_第2张图片

你可能感兴趣的:(LeetCode,leetcode,算法,python)