LeetCode 125. Valid Palindrome

时间:2023-02-25 11:30:26

这个题目只要注意大小写问题即可解决,而且我们只关注的是字母和数值

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindrome.

Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.

For the purpose of this problem, we define empty string as valid palindrome.

class Solution {
public:
bool isPalindrome(string s) {
int start = , end = s.size() - ;
while (start < end)
{
if ('a' <= s[start] && s[start] <= 'z' || 'A' <= s[start] && s[start] <= 'Z' ||
'' <= s[start] && s[start] <= '')
{
bool tag = true;
while (tag)
{
if ('a' <= s[end] && s[end] <= 'z' || 'A' <= s[end] && s[end] <= 'Z' ||
'' <= s[end] && s[end] <= '')
{
if (s[start] == s[end]||s[start]==toupper(s[end])||s[start]==tolower(s[end]))
{
++start;
--end;
tag = false; }
else
{
return false;
}
}
else
{
--end;
tag = true;
}
}
}
else
++start;
}
return true;
}
};