首页 > 其他分享 >验证回文串

验证回文串

时间:2024-08-08 20:52:11浏览次数:10  
标签:字符 ch 数字 验证 字母 示例 回文

如果在将所有大写字符转换为小写字符、并移除所有非字母数字(一开始根本没看到数字两个字)字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 

示例 1:

输入: s = "A man, a plan, a canal: Panama"
输出:true
解释:"amanaplanacanalpanama" 是回文串。

示例 2:

输入:s = "race a car"
输出:false
解释:"raceacar" 不是回文串。

示例 3:

输入:s = " "
输出:true
解释:在移除非字母数字字符之后,s 是一个空字符串 "" 。
由于空字符串正着反着读都一样,所以是回文串。

吐槽示例中竟然没有数字,题目又有,简直坑人。

class Solution {
public:
    bool isCharOrNumber(char ch)//判断是否为数字或字母
    {
        if((ch>='a'&&ch<='z')||(ch>='0'&&ch<='9'))
        return true;
        else
        return false;
    }
    bool isPalindrome(string s) 
    {
        for(auto& ch:s)
        {
            if(ch>='A'&&ch<='Z')
            {
                ch+=32;//遍历一遍后,找到所有大写字母,查表后知道每个+32变成小写字母
            }
        }
        int begin=0,end=s.size()-1;//定义双指针
        while(begin<end)
        {

            while(begin<end&&!isCharOrNumber(s[begin]))
            {
                ++begin;
            }
            while(begin<end&&!isCharOrNumber(s[end]))
            {
                --end;
            }
            if(s[begin]!=s[end])//一次不同就直接退出返回false
            {
                return false;
            }

            else
            {
                ++begin;
                --end;
            }
        }
        return true;
    }
};

标签:字符,ch,数字,验证,字母,示例,回文
From: https://blog.csdn.net/2403_85903590/article/details/141036083

相关文章

  • 【教程4>第3章>第5节】8ASK解调系统的FPGA开发与matlab验证
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.8ASK解调理论简介3.8ASK解调过程的MATLA......
  • 如何在 Django Web 应用程序中临时存储用户凭据以进行电子邮件验证?
    我想创建自己的电子邮件验证流程,其中用户输入其凭据并获取给定电子邮件的OTP。当用户在10分钟的时限内输入正确的OTP时,它将注册该用户,并且他的凭据将永久存储在我的数据库中。如何在10分钟的时间限制内临时存储凭证?我正在考虑使用django_pbkdf2_sha256库哈希后存储......
  • 代码随想录day23 || 39 组合总和,40 组合总和2,131 分割回文串
    39组合总和funccombinationSum(candidates[]int,targetint)[][]int{ //思路,组合问题考虑回溯算法,考虑到元素可能重复问题,所以,树的最大深度应该是target/min(candudates)+1 varpath=[]int{} varres=[][]int{} backtracking(target,candidates,&path,&res......
  • 前后端分离项目,后期前端身份验证的麻烦
    软件构成后端后端是一个asp.netcorewebapi项目,使用jwt进行身份验证和鉴权。前端前端是一个基于http协议的asp.netcoreRezorPage项目,但实际上完全使用的wwwwroot目录下的静态文件。没有使用RazorPage。目前只有后端接口鉴权,前端页面任意访问身份验证需求这两天安全要求......
  • spring RestTemplate忽略证书验证
    要使RestTemplate忽略SSL证书验证,你可以配置一个自定义的SSLContext,然后将其注入到RestTemplate使用的HttpClient中。以下是一个示例代码:importcom.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;importorg.apache.http.client.HttpClient;importorg.apac......
  • 【EA电池SPM参数化】Matlab构建的简化单粒子SPM电化学模型,ESP,SP,包含测试数据,参数辨识
        ......
  • 牛客JS题(二十四)验证是否是身份证
    注释很详细,直接上代码涉及知识点:正则表达式一代与二代身份证判断题干:我的答案<!DOCTYPEhtml><html><head><metacharset="UTF-8"/><style>/*填写样式*/</style></head><body><!--填写标签-......
  • laravel: 常用的验证规则
    一,只包含中文:'city'=>'required|regex:/^[\x{4e00}-\x{9fa5}]+$/u',正则表达式 [\x{4e00}-\x{9fa5}] 匹配所有中文字符,其中 \x{4e00} 是中文字符的开始码,\x{9fa5} 是结束码。u修饰符用于正则表达式,以支持UTF-8编码二,包含中英文数字publicfunctionrules()......
  • 验证数据但有效值取决于其他列
    我有一个像这样构建的Pandas数据框:水果颜色吃过的吗?吃过的日期苹果红色是2024年3月14日苹......
  • 微信小程序-手机验证码短信登录接口(防薅方法)
    前言开发的小程序手机号短信验证码登录这一个功能,入参只有手机号。结局盗刷、恶意刷。解决方案1.nginx只允许referer是小程序来源的请求#你的接口location^~/api/{if($http_referer!~*"^https://servicewechat.com/【你的小程序appid】/\d+/page-fram......