回文,顾名思义就是段字符颠倒过来和它本身是相同的。如abcba和abba,正着读反着读都是它本身。在leetcode上关于回文的题我们将在这里进行一个总结。回文问题大多用动态规划和双指针指针来解决
判断一个字符串是不是回文子串其实只要比较s和s[::-1]就可以实现。但是问题是每次都会给你附加一些其他的。
第125题:验证回文串(简单)
在判断这个字符串的时候我们需要之前进行如下工序:
1.去除无关的字符,我们用re正则表达式可以轻易完成。注意的是正则结果要转换成字符串类型。
2.全体变成小写,我们用s.lower()完成。
import re
clean = re.findall('[a-zA-Z0-9]+',s)
clean = ''.join(clean)
clean = clean.lower()
print(clean)
l = len(clean)-1
if clean == clean[::-1]:
return True
else:
return False
- 验证回文字符串 Ⅱ(简单)
开始加入了其他条件:最多删除一个字符。
我们需要想通删除一个字符意味着什么。在这道题中,删除一个字符意味着