leetcode刷题记录-字符串-是否回文串

leetcode刷题记录-字符串-是否回文串,第1张

双指针,遇到除数字和字母外的字符跳过。

代码如下:

class Solution {
public:
    bool isPalindrome(string s) {
        int left = 0;
        int right = s.length() - left -1;
        transform(s.begin(),s.end(),s.begin(),::tolower);
        while (left < right)
        {
            if ((s[left] >= 'a' && s[left] <= 'z') || (s[left] >= '0' && s[left] <= '9'))
            {
                if ((s[right] >= 'a' && s[right] <= 'z') || (s[right] >= '0' && s[right] <= '9'))
                {
                    if (s[left] == s[right])
                        {
                            ++left;
                            --right;
                        }
                    else
                        return false;
                }
                else
                    right--;
            }
            else 
                left++;

        }
        return true;
    }
};

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/673655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存