刷leetcode-day11

一、题目:

125.验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例1:

输入: "A man, a plan, a canal: Panama" 输出: true

示例2:

输入: "race a car" 输出: false

二、思路:

引入一个新的字符串s1,只拷贝s中的字母和数字;然后判断s1是否为回文串

三、代码(C++):

bool isPalindrome(string s) {
        if(s.size()==0)
            return true;
        string s1="";
        for(auto a:s)
        {
            if((a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'))
                s1.push_back(a);
        }
        for (auto &a : s1)
            a = tolower(a);
        int k=0;
        for(int i=0;i<s1.size();i++)
        {
            if(s1[i]==s1[s1.size()-1-i])
                k++;
        }
        if(k==s1.size())
            return true;
        else
            return false;
    }

全部评论

相关推荐

_mos_:要不是看评论区我都不知道你要找的是数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务