用python3解决回文数算法

用python3解决回文数算法

题目是这样的:

在这里插入图片描述

自己思考的时候:
    def isPalindrome(self, x: int) -> bool:
        m = list()
        n = list()
        for i in str(x):
            m.append(i)
            n.append(i)
        n.reverse()
        if n == m :
            return True
        else:
            return False
      

当时的想法是:
先想办法获取到数字中的每一个位数上的数字,用字符的形式保存下来
于是我将数字转换成了字符串进行比较
本想着看看有没有对字符串反转的函数,一时间没想出来,但是想到了列表里有reverse方法可以反转,所以我就把字符串中的每一个字符放到列表中,然后比较两个列表

优化的解决方法:

让我恍然大悟!!!

    def isPalindrome(self, x: int) -> bool:
        return str(x) == str(x)[::-1]

就一行能解决的事情,我绕了半天,虽然字符串没有反转的方法,但是直接可以用步长解决啊
我感觉我脑残了 /(ㄒoㄒ)/~~


版权声明:本文为qq_41755616原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。