回文串

对一个字符串来说,从前往后读和从后往前读是一样的,这样的字符串叫做回文串。注意,空字符串也是回文串。

题目要求

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。

题目分析

根据题目要求,由于字符串中存在一些特殊符号,比如逗号、冒号等,在确认是否是回文串的过程中,这些特殊符号需要去除, 否则无法确认是否是回文串。 最后,我们需要两个指针,一前一后,同时往字符串的中间进行移动,每移动一位进行比较,如果相同就继续往下 比较,如果不同那么就跳出。

示例1:

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

示例2:

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

详细代码

class Solution:def isPalindrome(self, s: str) -> bool:s = s.lower()   # 统一转换为小写i = 0           # 左指针j = len(s)-1    # 右指针while i < j:    if s[i].isalnum() and s[j].isalnum():    # 判断是否是字母或数字,isalnum()函数见拓展if s[i] != s[j]:           # 左不等于右时return False          # 返回Falseelse:                      # 否则,继续遍历i += 1                 j -= 1elif not s[i].isalnum():       # 左指针的value不是字母或者数字时,右移i += 1else:                          # 右指针的value不是字母或者数字时,左移j -= 1 return True

验证

示例1:

输入:
solution = Solution()
s = "A man, a plan, a canal: Panama"
solution.isPalindrome(s)
输出:
True

示例2:

输入:
solution = Solution()
s = "race a car"
isPalindrome(s)
输出:
True

拓展

判断字符串是否全是数字,isdigit()函数

输入:
a = '123'
a.isdigit()    # 判断字符串a是否为数字
输出:
True

判断字符串是否全是字母,isalpha()函数

输入:
a = 'abc'
a.isalpha()    # 判断字符串a是否为字母
输出:
True

判断字符串是否全是数字和字母,isalnum()函数

输入:
a = '123abc'
a.isalnum()    # 判断字符串a是否为字母和数字
输出:
True

持续更新中。。。。。

LeetCode_125_Python_验证回文串相关推荐

  1. c语言判断字符串是不是回文_125. 验证回文串

    125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例1: 输入: "A man, a ...

  2. 算法------验证回文串

    验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写.说明:本题中,我们将空字符串定义为有效的回文串.示例 1:输入: "A man, a plan, a ...

  3. Python中判断字符是否为字母、数字、字母和数字组合,验证回文串(LeetCode125)

    判断字符串是否为字母.数字 函数str.isdigit()判断字符是否为数字,函数str.isalpha()判断字符是否为字母,函数isalnum()判断字符是否为数字字母组合. 上代码: str1 ...

  4. java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串

    文章目录 一.题目描述 1.1 题目 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...

  5. LeetCode:验证回文串【125】

    LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...

  6. leetcode 高薪_LeetCode 第 125 号问题:验证回文串

    本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一. 个人网站:https://www.cxyxiaowu.com 题目来源于 LeetCode 第 125 号问题:验证回文串. ...

  7. 力扣--125验证回文串/680验证回文字符串II

    125验证回文串 python代码 常规 def isPalindrome(s):if len(s) < 2:return TruesList = []s = s.lower()print(s) ...

  8. 双指针 -- 验证回文串

    传递门:验证回文串 思路: class Solution { public:bool check(char c){return c>='0'&&c<='9' || c> ...

  9. 回文串问题(leetcode 125. 验证回文串 c#)

    leetcode 125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: &quo ...

  10. Leetcode:125.验证回文串,917仅仅反转字母,387字符串的第一个唯一字符

    文章目录 125.验证回文串 题目描述 示例 思路分析 代码实现 917.仅仅反转字母 题目描述 示例 思路分析 代码实现 387.字符串的第一个唯一字符 题目描述 示例 思路分析 代码实现: 125 ...

最新文章

  1. 手写单隐层神经网络_鸢尾花分类(matlab实现)
  2. 禁用磁盘检查_如何在Windows上禁用“磁盘空间不足”警告
  3. VS如何在一个项目中添加多个包含main函数的源文件并分别调试运行
  4. Android 数据存储和文件使用案例分析
  5. 微信图片显示定位服务器,姚晓雷:通过一张微信图片定位对方具体位置的方法...
  6. solr课程学习系列-solr的概念与结构(1)
  7. JVM教程:JM内存分哪几个区,每个区的作用是什么?
  8. Word插入公式中如何编辑 argmin
  9. for循环,while循环,break跳出循环,continue结束本次循环,exit退出整个脚本
  10. 计算机应用基础演讲怎么开口,计算机应用基础讲课稿
  11. CreateFile 错误码
  12. 台式机dp接口_聊聊电脑视频接口那些事
  13. 路畅畅云固件升级教程_【图】E-Link功能/智能语音 路畅畅云+车载导航评测_汽配中国网...
  14. mbedtls学习--大数运算
  15. K3 ERP 系统财务管理 - 账结法、表结法
  16. 苏州大学在职研究生计算机专业,苏州大学在职研究生有哪些专业?
  17. Duplicate Cleaner Pro v5.0.13 电脑重复文件查找清理工具
  18. 操作系统基础(八)快表和多级页表
  19. 详细介绍借助Docker Hub访问gcr.io镜像
  20. 浮士德头像裁剪flash版2016福利版

热门文章

  1. Rust: CTP的rust版本如何手工封装
  2. Rust :rustup的版本更新功能
  3. Julia: 编译成EXE文件
  4. 【图像隐写】基于matlab GUI DWT+DCT+SVD数字水印嵌入提取攻击(带面板)【含Matlab源码 1664期】
  5. 【路径规划】基于matlab蚁群算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1618期】
  6. 【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 1005期】
  7. 机器学习中特征选择_机器学习中的特征选择
  8. 内置函数的数据聚合NumpyPandas
  9. mysql sql语法区别_sql和mysql语法有什么不同
  10. c与python内存传递_如何将C中的内存地址转换为python ctypes调用?