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中字符串判定
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