一、题目:
125.验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例1:
输入: "A man, a plan, a canal: Panama" 输出: true
示例2:
输入: "race a car" 输出: false
二、思路:
引入一个新的字符串s1,只拷贝s中的字母和数字;然后判断s1是否为回文串
三、代码(C++):
bool isPalindrome(string s) {
if(s.size()==0)
return true;
string s1="";
for(auto a:s)
{
if((a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'))
s1.push_back(a);
}
for (auto &a : s1)
a = tolower(a);
int k=0;
for(int i=0;i<s1.size();i++)
{
if(s1[i]==s1[s1.size()-1-i])
k++;
}
if(k==s1.size())
return true;
else
return false;
}