跳到主要内容

回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。

class Solution
{
public:
bool isPalindrome(string s)
{
int left = -1, right = s.size();
while (left < right)
{
++left, --right;
while (left < right && !isalnum(s[left]))
{
left++;
}
while (left < right && !isalnum(s[right]))
{
right--;
}
if (!(tolower(s[left]) == tolower(s[right])))
{
return false;
}
};
return true;
}
};
Loading Comments...