Valid Palindrome

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

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

Example 1:

`Input: "A man, a plan, a canal: Panama"Output: true`

Example 2:

`Input: "race a car"Output: false`

Constraints:

• `s` consists only of printable ASCII characters.

Solution:

`class Solution:    def isPalindrome(self, s: str) -> bool:        N = len(s)        left = 0        right = N - 1        while left < N - 1 and not s[left].isalnum():            left += 1        while right > 0 and not s[right].isalnum():            right -= 1        while left < right:            if s[left].lower() != s[right].lower():                return False                    left += 1            while not s[left].isalnum():                left += 1            right -= 1            while not s[right].isalnum():                right -= 1        return True       `

Reference

--

--

--

## More from JEN-LI CHEN IN DATA SCIENCE

My homepage to record my thought processes for solving SQL and Algorithm questions

## Isabelle

In love with telling stories with data