讨论/《数组类算法》 - 验证回文串 - 解题思路/
《数组类算法》 - 验证回文串 - 解题思路
共 1 个回复

对撞双指针C++版本

class Solution {
public:
    bool isPalindrome(string s) {
        string ss;
        //判断是否为数字字母组合
        for(char ch:s)
        {
            if(isalnum(ch))
            {
                //全部转为小写字母并赋给ss
                ss+=tolower(ch);
            }
        }
        //长度
        int len = ss.size();
        //定义左右双指针
        int l=0,r=len-1;
        //判断是否回文
        while(l<r)
        {   
            //不相等就返回false结束
            if(ss[l]!=ss[r])
            {
                return false;
            }
            //继续比较下一个
            r--;
            l++;
        }
        //当两个指针相撞(等),说明是回文串
        return true;
    }
};