125. Valid Palindrome - two pointers

125. Valid Palindrome

Easy

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

Accepted 500,090 Submissions 1,458,933

双指针

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

PS:

Python中字符串判定

125. Valid Palindrome - two pointers

Python isX字符串方法


1.isupper()

如果字符串至少有一个字母,并且所有字母都是大写,isupper()方法就会返回布尔值True.

2.islower()

如果字符串至少有一个字母,并且所有字母都是小写,islower()方法就会返回布尔值True.

3.isalpha()

如果字符串只包含字母,并且非空 ,返回True.

4.isalnum()

如果字符串中只包含字母和数字字符,并且非空,返回True.

5.isdecimal()

如果字符串中只包含数字字符,并且非空,返回True.

6.isspace()

如果字符串只包含空格、制表符和换行,并且非空,返回True.

7.istitle()

如果字符串仅包含以大写字母开头、后面都是小写字母的单词,返回True.
————————————————
版权声明:本文为CSDN博主「guloutingfengyu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guloutingfengyu/article/details/80089190

上一篇:B - Yet Another Palindrome Problem的简单方法


下一篇:B - Yet Another Palindrome Problem