验证回文串
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xne8id/
来源:力扣(LeetCode)
题目描述:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明: 本题中,我们将空字符串定义为有效的回文串。
示例 :
输入: "A man, a plan, a canal: Panama" 输出: true
答案v1.0
class Solution
{
public:
bool isPalindrome(string s)
{
// 先遍历一遍,去除非数字和字母的元素
cout << s << endl;
for (string::iterator it = s.begin(); it != s.end();)
{
if ((*it >= '0' && *it <= '9') || (*it >= 'A' && *it <= 'Z') || (*it >= 'a' && *it <= 'z'))
{
//将大写字母转化为小写
if (*it >= 'A' && *it <= 'Z')
{
*it += ('a' - 'A');
}
it++;
}
else
{
s.erase(it);
}
}
for (int i = 0; i < s.size() / 2; i++)
{
if (s[i] != s[s.size() - 1 - i])
{
return false;
}
}
return true;
}
};