LeetCode-python-自己and大神的解题思路(二)

本文介绍了回文数的两种解题方法:一种是通过字符串反转来判断;另一种是使用数学方法,通过逐次整除并重组数字来验证是否为回文数。同时展示了具体的Python代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


9回文数

解题思路:这道题有两种解法。1、常规的解法就是将输入的整形数转换为字符串,再将字符串进行反转,之后与原数进行判断。2、第二种方法是采用数学的方法。方法为逐次整除,将余数提取出来带入,重新组建数字,不断乘以10去加上新算出的余数,如果是回文数字,那么新组建的数字就和输入的一样。

方法一代码如下

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        x = str(x)
        x1 = x[::-1]
        if x == x1 :
            return True
        else:
            return False

方法二代码

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x > 0:
            n,newed = 0,0
            n = x
            while x > 0:
                newed = newed *10 + x % 10
                x = x//10
            if newed == n:
                return True
            else:
                return False
        elif x == 0:
            return True
        elif x < 0:
            return False

看了第一名的代码不得不佩服是大佬,请欣赏大佬的表演

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0:
            return False
        else:
            return int(str(x)[::-1]) == x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值