每日一题-验证回文串

🌈个人主页:羽晨同学 

💫个人格言:“成为自己未来的主人~”   

//验证回文串
#include<vector>
class Solution {
public:
    bool reverseString(char s) {
        return (s >= 'a' && s <= 'z') ||
            (s >= '0' && s <= '9') ||
            (s >= 'A' && s <= 'Z');
    }
    //字符串
    bool reverseLongString(string s)
    {
        for (auto& ch : s)
        {
            if (ch >= 'A' && ch <= 'Z')
                ch += 32;
        }
        int end = s.size() - 1;
        int begin = 0;
        while (begin < end)
        {
            while ((begin < end) && !reverseString(s[begin]))
                begin++;
            while (begin < end && !reverseString(s[end]))
                end--;
            if (s[end] != s[begin])
            {
                return false;
            }
            else
            {
                end--;
                begin++;
            }
        }
        return true;
    }
};

int main()
{
    Solution solution;
    solution.reverseString('a');
    int result=solution.reverseLongString("asdffdsa");
    cout << result << endl;
    return 0;
}

对于单个字符而言,只要保证不是奇奇怪怪的符号就可以

对于字符串而言,需要注意的是首先需要舍去奇怪字符,然后将所有的大写字母换成小写字母或者将小写字母变为大写字母,然后判断二者是否相等。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值