LeetCode 125 -Python 3 (Week 05 – 15)

Solution 1

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

Time complexity is O(n). Space complexity is O(1).

Solution 2

class Solution:
    def isPalindrome(self, s: str) -> bool:
        s = "".join(filter(lambda c: c.isalnum(), s.lower()))
        return s == s[::-1]

Time complexity is O(n). Space complexity is O(1).

Leave a comment

Design a site like this with WordPress.com
Get started