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

125. 验证回文串

时间:2023-08-05 11:32:50浏览次数:44  
标签:字符 lower right 数字 验证 字母 125 回文 left

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

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

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

示例 1:

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

示例 2:

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

一开始我想的是先遍历一遍处理大转小、去除非字母数字字符。处理完成之后再用双指针判断。后来看了解析发现可以不用去除非字母数字字符,直接判断。

class Solution:
    def isPalindrome(self, s: str) -> bool:
        left = 0
        right = len(s)-1
        while left < right:
            while left < right and not s[left].isalnum():
                left += 1
            while left < right and not s[right].isalnum():
                right -= 1
            if left < right:
                if s[left].lower() != s[right].lower():
                    return False
                left += 1
                right -= 1
        return True

isalnum()判断字符串是否由字母和数字组成。

lower() 方法转换字符串中所有大写字符为小写。

Java是这个Character.isLetterOrDigit()、Character.toLowerCase()。

标签:字符,lower,right,数字,验证,字母,125,回文,left
From: https://blog.51cto.com/u_16123878/6974218

相关文章

  • 前端学习笔记202305学习笔记第二十一天-vue3.0-自定义form表单的验证
       ......
  • Kettle 连接失败 Oracle时报错: Ora-12505
       在使用Kettle连接Oracle数据库时,我们一般会将SERVICE_NAME作为数据库名称进行输入,导致报错:ora-12505;   实际上,Kettle中使用的数据库名是“SID_NAME”而不是PL/SQL的“SERVICE_NAME”。解决方案:1.使用pl/sql连接数据库,执行下列语句,查询“SID_NAME”;selectINSTA......
  • 一键获取测试脚本,轻松验证 TDengine 3.0 IoT 场景下 TSBS 测试报告
    不久前,基于TSBS,我们发布了TDengine3.0测试报告系列第一期——《DevOps场景下TDengine3.0对比测试报告》,报告验证了TDengine基于时序数据场景所设计的独特架构,在DevOps场景下带来的性能优势以及成本控制水平。本期我们继续探寻在IoT场景下,TDengine对比TimescaleDB、......
  • 字符串回文,翻转
    @TOC前言从这篇文章开始进行算法的学习,开启新的篇章。一、字符串回文字符串回文:是指一个字符串从左到右读和从右到左读是一样的,即它的字符顺序颠倒后仍然保持不变。例如,"level"和"madam"就是回文字符串。在编程中,我们可以使用不同的算法来判断一个字符串是否是回文。方法一:将字......
  • 使用隧道HTTP时如何解决网站验证码的问题?
    使用代理时如何解决网站验证码的问题?使用代理时,有时候会遇到网站验证码的问题。验证码是为了防止机器人访问或恶意行为而设置的一种验证机制。当使用代理时,由于请求的源IP地址被更改,可能会触发网站的验证码机制。以下是解决网站验证码问题的几种方法:1.使用高匿代理服务器:选择高匿......
  • 识别图片验证码
    一个demoimportddddocrocr=ddddocr.DdddOcr()#简单的图片数字英文识别withopen('code.jpg','rb')asf:img_bytes=f.read()res=ocr.classification(img_bytes)print(res)可能出现的问题解决pipinstallPillow==9.5.0......
  • 125.C++中的size_t
    125.C++中的size_t1.size_t●size_t是一些C/C++标准在stddef.h中定义的,size_t类型表示C中任何对象所能达到的最大长度,它是无符号整数●它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样。size_t在32位系统上定义为unsignedint,也就是32位无符号整型。在64......
  • C# 实现身份验证之WebApi篇
    【转】https://www.cnblogs.com/zhaoshujie/p/9761005.html今天再来总结关于如何实现WebApi的身份验证,以完成该系列所有文章,WebApi常见的实现方式有:FORM身份验证、集成WINDOWS验证、Basic基础认证、Digest摘要认证 第一种:FORM身份验证(若在ASP.NET应用程序使用,则该验证方式不支......
  • MVC4 成员资格、 身份验证
    SimpleMembership,成员资格提供程序、通用的提供者和新的ASP.NET4.5Web窗体和ASP.NETMVC4模板ASP.NETMVC4互联网模板中添加一些新的、非常有用的功能,构建SimpleMembership。这些更改将添加一些很有特色,像很多更简单、可扩展会员API和OAuth的支持。但是,新的帐户管......
  • 更安全的验证码=AIGC+集成环境信息检测!
    黑灰产经常采用批量撞库方式登录用户账号,然后进行违法违规操作。黑灰产将各种方式窃取账号密码导入批量登录软件,登录软件自动尝试账号登录。邮箱服务器检测到异常登录请求,会下发验证码进行安全验证,但是黑灰产能够自动破解简单验证码,完成撞库登录过程。整个过程完全自动化操作,无需......