字符串-验证回文串(双指针法)
注:
回文串”是一个正读和反读都一样的字符串,比如“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;}
}
字符串-验证回文串(双指针法)相关推荐
- 字符串--验证回文串
问题来源:力扣算法面试汇总 问题描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 例子: 输入: "A ...
- leetcode 探索 数组和字符串 验证回文串
问题 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, ...
- c语言判断字符串是不是回文_125. 验证回文串
125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例1: 输入: "A man, a ...
- 力扣--125验证回文串/680验证回文字符串II
125验证回文串 python代码 常规 def isPalindrome(s):if len(s) < 2:return TruesList = []s = s.lower()print(s) ...
- Leetcode:125.验证回文串,917仅仅反转字母,387字符串的第一个唯一字符
文章目录 125.验证回文串 题目描述 示例 思路分析 代码实现 917.仅仅反转字母 题目描述 示例 思路分析 代码实现 387.字符串的第一个唯一字符 题目描述 示例 思路分析 代码实现: 125 ...
- 算法------验证回文串
验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写.说明:本题中,我们将空字符串定义为有效的回文串.示例 1:输入: "A man, a plan, a ...
- Python中判断字符是否为字母、数字、字母和数字组合,验证回文串(LeetCode125)
判断字符串是否为字母.数字 函数str.isdigit()判断字符是否为数字,函数str.isalpha()判断字符是否为字母,函数isalnum()判断字符是否为数字字母组合. 上代码: str1 ...
- java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串
文章目录 一.题目描述 1.1 题目 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...
- LeetCode:验证回文串【125】
LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...
最新文章
- CAS集成oauth2协议的支持
- Grafana3整合Zabbix实现图形化监控
- 容易混淆的php函数,个人笔记
- Smart Paster...great tool to paste large strings into Vs.net
- SAP物料主数据采购视图采购价值代码设置
- 如何应用Java的可变参数
- “约见”面试官系列之常见面试题之第五十三篇之网站的资源优化(建议收藏)
- 美团DSP广告策略实践
- 关于Cocos2d-x随机数的生成
- MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE
- 网页效果图设计之色彩配色索引
- 远程访问服务器上的Jupyterlab
- cordova环境配置步骤
- 使用VMware安装CentOS
- SQL、DB、DBMS分别是什么,他们之间的关系?
- 十五万左右纯电SUV怎么选?奇瑞大蚂蚁是真香
- 【C语言】将文本中汉字读入字符数组输出乱码
- 【优化求解】基于遗传算法求解电动汽车充电管理优化问题Matlab代码
- html5道歉模板,给朋友的道歉信模板5篇2020
- shell win10 改成cmd_Win10 的 PowerShell、CMD 和 Windows Terminal 全方位美化配置方法
热门文章
- java时间戳类型如何比较大小_JAVA中两个String类型的时间戳怎么样比较大小?
- 一致性 Hash 算法的实际应用
- Kettle数据采集 部署安装
- 隔行如隔山 -- 乱弹技术,经济,对日外包
- 一、ExtMail Solution概述--EXTMAIL
- 性能指标:QPS、TPS、RT、吞吐量
- 3升和5升的不规则容器怎样量出4升的水
- JDK ThreadPoolExecutor核心原理与实践
- 如何基于RocketMQ设计一套全链路消息不丢失方案?
- 科大讯飞公然吹捧“凌晨两点边工作边哄娃”的“奋斗文化”,引发网友极度不适!...