题目链接: 125. 验证回文串 - 力扣(LeetCode)
题目描述

实现步骤
- 传入进来了一个字符串
- 遍历字符串的每一个字符,我们将字符变成小写字母
- 定义左右指针,用来扫描这个字符串
- 如果说左右指针中任意一个部署字母或者数字,我们就跳过它
- 如果左右指针所在的位置值不相等的化,那么我们就返回false
- 字符串遍历完成之后没有返回,就返回true
代码实现
class Solution {
public:
bool isPalindrome(string s) {
for(int i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z'){
s[i]=s[i]-'A'+'a';
}
}
int n=s.size();
int l=0,r=n-1;
while(l<r){
if(!(s[l]>='a'&&s[l]<='z'||s[l]>='0'&&s[l]<='9')){
l++;
continue;
}
if(!(s[r]>='a'&&s[r]<='z'||s[r]>='0'&&s[r]<='9')){
r--;
continue;
}
if(s[l]!=s[r]){
return false;
}
l++;
r--;
}
return true;
}
};