使用STL算法的好处在于,写得熟练的情况下可以快速写出正确的代码,手写循环总有几率忽略边界情况导致出错而且编码速度比较慢。STL算法的缺陷在于数量比较少也不够灵活,有时不能以最高的效率完成算法逻辑。下面这个代码虽然效率差了点,作为原型使用还是挺不错的.
// https://leetcode.com/problems/valid-palindrome/
class Solution {
public:
bool isPalindrome(string s) {
s.erase(std::remove_if(std::begin(s), std::end(s), [](char ch) {
return !isalnum(ch);
}), std::end(s));
return std::equal(