注:
回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
题意:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

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

示例 1:
输入: “A man, a plan, a canal: Panama”
输出: true
示例 2:
输入: “race a car”
输出: false

思路:(使用双指针)
**第一步:**最简单的方法是对字符串 ss 进行一次遍历,并将其中的字母和数字字符进行保留,放在另一个字符串 \textit{sgood}sgood 中。这样我们只需要判断 \textit{sgood}sgood 是否是一个普通的回文串即可。
**第二步:**初始时,左右指针分别指向字符串 的两侧,随后我们不断地将这两个指针相向移动,每次移动一步,并判断这两个指针指向的字符是否相同。
当这两个指针相遇时,就说明是回文串。

Java代码实现:

class Solution {public boolean isPalindrome(String s) {StringBuffer sgood = new StringBuffer();int length = s.length();for (int i = 0; i < length; i++) {char ch = s.charAt(i);if (Character.isLetterOrDigit(ch)) {sgood.append(Character.toLowerCase(ch));}}int n = sgood.length();int left = 0, right = n - 1;while (left < right) {if (Character.toLowerCase(sgood.charAt(left)) != Character.toLowerCase(sgood.charAt(right))) {return false;}++left;--right;}return true;}
}

字符串-验证回文串(双指针法)相关推荐

  1. 字符串--验证回文串

    问题来源:力扣算法面试汇总 问题描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 例子: 输入: "A ...

  2. leetcode 探索 数组和字符串 验证回文串

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. CAS集成oauth2协议的支持
  2. Grafana3整合Zabbix实现图形化监控
  3. 容易混淆的php函数,个人笔记
  4. Smart Paster...great tool to paste large strings into Vs.net
  5. SAP物料主数据采购视图采购价值代码设置
  6. 如何应用Java的可变参数
  7. “约见”面试官系列之常见面试题之第五十三篇之网站的资源优化(建议收藏)
  8. 美团DSP广告策略实践
  9. 关于Cocos2d-x随机数的生成
  10. MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE
  11. 网页效果图设计之色彩配色索引
  12. 远程访问服务器上的Jupyterlab
  13. cordova环境配置步骤
  14. 使用VMware安装CentOS
  15. SQL、DB、DBMS分别是什么,他们之间的关系?
  16. 十五万左右纯电SUV怎么选?奇瑞大蚂蚁是真香
  17. 【C语言】将文本中汉字读入字符数组输出乱码
  18. 【优化求解】基于遗传算法求解电动汽车充电管理优化问题Matlab代码
  19. html5道歉模板,给朋友的道歉信模板5篇2020
  20. shell win10 改成cmd_Win10 的 PowerShell、CMD 和 Windows Terminal 全方位美化配置方法

热门文章

  1. java时间戳类型如何比较大小_JAVA中两个String类型的时间戳怎么样比较大小?
  2. 一致性 Hash 算法的实际应用
  3. Kettle数据采集 部署安装
  4. 隔行如隔山 -- 乱弹技术,经济,对日外包
  5. 一、ExtMail Solution概述--EXTMAIL
  6. 性能指标:QPS、TPS、RT、吞吐量
  7. 3升和5升的不规则容器怎样量出4升的水
  8. JDK ThreadPoolExecutor核心原理与实践
  9. 如何基于RocketMQ设计一套全链路消息不丢失方案?
  10. 科大讯飞公然吹捧“凌晨两点边工作边哄娃”的“奋斗文化”,引发网友极度不适!...