Valid Palindrome Leetcode Python

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.


For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindrome.


Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.

For the purpose of this problem, we define empty string as valid palindrome.

这道题的做法是将符合数字和字母的符号全部都保留下来,其余的删除。然后再判断是否是回文的。

要注意当字符是空的时候算做true

we need to delete chars that are not numbers or alphabets. and the judge whether it is palindrome


class Solution:
    # @param s, a string
    # @return a boolean
    def judge(self,s):
        low=0
        high=len(s)-1
        while low<high:
            if s[low]!=s[high]:
                return False
            low+=1
            high-=1
        return True
    def isPalindrome(self, s):
        i=0
        count=0
        s=list(s)
        while i<len(s):
            if (ord(s[i])>=97 and ord(s[i])<=122):
                s[i]=chr(ord(s[i])-32)
            if (ord(s[i])>=48 and ord(s[i])<=57) or (ord(s[i])>=65 and ord(s[i])<=90):
                s[count]=s[i]
                count+=1
            i+=1
        s=s[:count]
        return self.judge(s)



你可能感兴趣的:(LeetCode,python,array)