给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-palindrome
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
bool isPalindrome(string s)
{
string nor;
if(s.size() == 0)
{
return true;
}
int i = 0;
for(i = 0; i < s.size(); i++)
{
if(s[i] >= 'A' && s[i] <= 'Z' || s[i] >= '0' && s[i] <= '9')
{
nor += s[i];
}
else if(s[i] >= 'a' && s[i] <= 'z')
{
nor += s[i]-32;
}
}
//cout<<"nor.size() = "<<nor.size()<<endl;
for(i = 0; i < nor.size(); i++)
{
if(nor[i] != nor[nor.size() - i - 1])
{
break;
}
}
if(i == nor.size())
{
return true;
}
else
{
return false;
}
return true;
}
};