有效回文串
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
注意事项
你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。
在这个题目中,我们将空字符串判定为有效回文。
bool isPalindrome(string& s) {
// Write your code here
transform(s.begin(), s.end(), s.begin(), ::tolower);//转小写,存回s
auto left = s.begin(), right = prev(s.end());//s.end--
while (left < right) {
if (!::isalnum(*left)) ++left;//isalnum判断是不是字母或数字,不是,返回0
else if (!::isalnum(*right)) --right;
else if (*left != *right) return false;
else{ left++, right--; }
}
return true;
}
浙公网安备 33010602011771号