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
题目的意思:判断只包含数字和字母的字符串是否为回文串,忽略大小写和空格。
用python实现很简单,因为python有很多封装好的函数直接调用就行。具体的解决步骤:
1.(预处理)一开始是想先开辟一个新的空间来存储将原字符串先转小写的结果
2. 遍历字符串,将数字个字母放入新的字符串内
3. 将步骤2获得的字符串反转
4. for循环比较
class Solution:
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s3=""
for i in range(len(s)):
if s[i].lower().isdigit() or s[i].lower().isalpha():
s3+=(s[i].lower());
s2=s3[::-1];
for i in range(len(s2)):
if s3[i] != s2[i]:
return False;
return True;