LeetCode Valid Palindrome(验证回文字符串)

来源:互联网 发布:解码矩阵 编辑:程序博客网 时间:2024/05/18 15:26

题目:

给定一个字符串,判断其中包含数字和字母的部分是否是回文字符串(忽略大小写),即判断该字符串是不是正向和反向读取的结果一致。

解题思路:

本题的解题方法比较暴力直接,先遍历一遍字符串,将字符串中的所有非数字和字母的部分删除,并将所有的大写字母转为小写字母,再设置两个指针,分别从首尾开始读取字符串,判断首尾指针读取的字符是否一致,一致则首尾指针同时向中间移动一个单位继续读取,否则中断循环。

解题代码(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        


原创粉丝点击