题目:
给定一个字符串,判断其中包含数字和字母的部分是否是回文字符串(忽略大小写),即判断该字符串是不是正向和反向读取的结果一致。
解题思路:
本题的解题方法比较暴力直接,先遍历一遍字符串,将字符串中的所有非数字和字母的部分删除,并将所有的大写字母转为小写字母,再设置两个指针,分别从首尾开始读取字符串,判断首尾指针读取的字符是否一致,一致则首尾指针同时向中间移动一个单位继续读取,否则中断循环。
解题代码(python):
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s = s.lower()
character = "abcdefghijklmnopqrstuvwxyz"
num = "0123456789"
final = []
for i in s:
if i in character or i in num:
final.append(i)
else:
continue
i = 0
j = len(final)-1
flag = 0
while(j>i):
if final[i]==final[j]:
i=i+1
j=j-1
else:
flag=1
break
if flag==1:
return False
else:
return True