用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ㄒ)/~~