【Leetcode】125、Valid Palindrome

回文数,仅限字母和数字的回文数,easy题,头尾指针解决。

#include 
using namespace std;
bool isPalindrome(string s)
{
    int start = 0, end = s.length() - 1;
    while (start < end)
    {
        if (!isalnum(s[start]))
            start++;
        else if (!isalnum(s[end]))
            end--;
        else
        {
            if (tolower(s[start++]) != tolower(s[end--]))
                return false;
        }
    }
    return true;
}
int main()
{
    string s = "Live on evasions ? No, I save no evil.";
    string s2 = ",.";
    if(isPalindrome(s))
        cout << "True" << endl;
    else
        cout << "False" << endl;
 
    return 0;
}

你可能感兴趣的:(算法题)