题目考察的知识点:字符串的遍历

题目解答方法的文字分析:先将字符串全中大写字母变为小写,然后遍历即可

本题解析所用的编程语言:c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
     string convertToUpper(string& str)
     {
        string result;
    for (char c : str) {
        result += tolower(c);
    }
    return result;
}
    bool isletter(char s)
    {
        if ((s >= 'a' && s <= 'z') || (s >= 'A' && s <= 'Z') || (s >= '0' && s <= '9'))
            return true;
        return false;
    }
    bool isPalindromeNickname(string s)
    {
        // write code here
        s = convertToUpper(s);
        int start = 0, end = s.size()-1;
        while (start < end)
        {
            if (!isletter(s[start])) 
            {
                ++start;
                continue;
            }
            if (!isletter(s[end])) 
            {
                --end;
                continue;
            }
            if (isletter(s[start]) && isletter(s[end]))
            {
                if (s[start] != s[end])
                    return false;
                ++start;
                --end;
            }
        }
        return true;
    }
};