遇到一些新的函数<algorithm>中的transform
class Solution {
public:
bool isPalindrome(string s) {
if (s.size() == 0)return true;
transform(s.begin(), s.end(), s.begin(), ::tolower);
string::iterator left = s.begin();
string::iterator right = s.end();
while(left < right){
if(!isalnum(*left)){
++left;
continue;
}
if(!isalnum(*right)){
--right;
continue;
}
if(*left == *right){
++left;
--right;
}else{
return false;
}
}
return true;
}
};
OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op );
isalnum()
tolower()