验证回文字符串

java去除空格、标点符号的方法实例.docx 立即下载

原题:

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

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

示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
解法1:

思路:先去除标点符号,以及空格,把字符串都变成小写,因为后面需要字符串前后对比;转换成字符数组,首尾开始往中间依次对比,相同则是回文。

class Solution {
   public  boolean isPalindrome(String s) {
        s=s.replaceAll("[\\pP\\p{Punct}]" , "");
        s=s.replaceAll(" +" , "");
        s=s.toLowerCase();
        char[] array=s.toCharArray();
        int n=array.length;
        for(int i=0;i<n/2;i++){
            if(array[i]!=array[n-1-i]){
                return false;
            }
        }
        return true;
    }
}
解法2:

思路:这题的重点就是去除这些标点符号的干扰,下面这个算法就是写一个函数判断是否为数字或字母,在前后对比时,先判断是否为数字或字母,是就舍弃移位。这样做就省去了对字符串的各种操作了。

class Solution {
public:
    bool isPalindrome(string s) {
        int left = 0, right = s.size() - 1 ;
        while (left < right) {
            if (!isAlphaNum(s[left])) ++left;
            else if (!isAlphaNum(s[right])) --right;
            else if ((s[left] + 32 - 'a') %32 != (s[right] + 32 - 'a') % 32) return false;
            else {
                left++;
                right--;
            }
        }
        return true;
    }
    bool isAlphaNum(char &c) {
        if (c >= 'a' && c <= 'z') return true;
        if (c >= 'A' && c <= 'Z') return true;
        if (c >= '0' && c <= '9') return true;
        return false;
    }
};
BB一句:

注意:
1 、s=s.replaceAll(“[\pP\p{Punct}]” , “”); 去除标点作用

Gemma 4 12B QAT+MTP小显存部署实战指南 大语言模型本地部署的核心瓶颈在于显存与推理效率的平衡。量化感知训练(QAT)通过在训练阶段模拟低精度计算,显著提升模型对INT4量化的鲁棒性;多令牌预测(MTP)则通过并行解码优化KV Cache复用,降低GPU kernel调用频次。二者协同可在8GB显存设备上稳定运行12B级模型,兼顾精度、速度与上下文长度。该方案适用于开发者本地AI助手、技术文档生成、SQL翻译等轻量但高交互需求场景,是当前Windows环境中小显存高效落地Gemma系列模型的工程最优解。 阅读详情

相关推荐

泛微 OA - 根据流程 requestid 获取流程中的附件

在泛微 OA 流程中,附件是通过加密上传的,如果在第三方系统想要调用 OA 系统获取 OA 附件,暂时没有很好的方法实现。但是可以在本地进行调用,得到附件信息,拿到这些信息后,可以用过 url 地址在本地下载。

小松鼠的博客 5836

java 正则表达式去除标点符号

public class Test { public static void main(String[] args) { String str = "!!!??!!!!%*)%¥!KTV去符号标号!!当然,,。!!..**半角"; System.out.println(str); String str1 = str.replaceAll("[\\pP\\p{Punct}

hhf1029的专栏 1万+

基于Jira与Confluence的企业知识库AI助手构建实战

检索增强生成(RAG)技术通过结合信息检索与大型语言模型,有效解决了AI在专业领域知识不足的问题。其核心原理是将外部知识库(如企业文档)进行向量化存储,在用户提问时进行语义检索,并将相关上下文注入提示词中,从而生成精准、有据可依的回答。这一技术架构在工程实践中价值显著,它无需重新训练模型即可让AI掌握特定领域的专业知识,大幅提升了回答的准确性与实用性。典型的应用场景包括智能客服、企业内部知识问答以及代码辅助等。本文以开源项目`dev-kostiuk/jira-confluence-ai-context`为例

weixin_42520448的博客 368

正则表达式

替换下面的所有的符号,包含特殊空格160

欢迎所有人,批评指正! 507

Anaconda安装教程傻瓜教程

网上好多教程找的我心好累,为了方便新手安装,我这边整理了大致详细的教程,参考了好几个大佬的教程,废话不多说,直接开始~ **前言:**有人纠结先安装python还是安装anaconda,这边的建议是装anaconda,就不需要单独装python了。 其次,有小伙伴的Anaconda的安装分两种情况: 情况一:电脑现在没有装python或者现在装的可以卸载掉(装Anaconda时先卸python); 情况二:电脑目前装了python,但想保留它;

zlc2351951436的博客 5万+

Unity WebGL项目如何实现画布透明,完美融入网页背景(附.jslib文件与完整配置)

本文详细解析了Unity WebGL项目实现画布透明化的技术原理与实战步骤,从.jslib文件配置到前端框架集成,帮助开发者解决默认背景色问题,实现3D内容与网页设计的无缝融合。重点介绍了透明化核心机制、常见误区及React/Vue等现代框架中的最佳实践方案。

weixin_31896061的博客 300

java中去除标点符号的正则表达式

去除标点符号的正则: str.replaceAll("[\\p{Punct}\\pP]","")

IT_但丁的博客 1868

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1129

[LeetCode] 验证回文字符串

验证回文字符串 125. 验证回文字符串 难度:Easy 题目描述: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: 输入: “race a car” 输出: false 解题思路: isnum() 判断是否为数字 isalpha() 判断是否为字母 isalnum() 判断是否为数字或字母 首尾双

WchStrife的博客 337

蓝桥杯算法:打印图形——六芒星

【输入格式】 输入一行包含一个整数 n。 【输出格式】 输出一个六芒星,表示满足题意的图形。 【样例输入】 3 4 【样例输出】 【评测用例规模与约定】 对于所有评测用例,1 ≤ n ≤ 20。 总结: 第一次做图形题,做了蛮久,图形题有很多的方式去完成,它考验的是你能不能找到更简单的那一种方式. 我初看到这个图形,第一种想法是把这个六芒星当做六个小三角形来做,然后以某种规则排列一下,就能做出来,但是尝试了一下感觉太麻烦了。 然后我的第二种想法是,这个图形是对称图形,怎么能写出一半吗? 这样另一半想办

KeepCodeing 3840

新政下的绿电直连项目经济性分析:模式创新与价值重构

随着全球气候治理与低碳转型进程不断加速,绿电直连作为新能源就近消纳的创新模式,正成为破解新能源消纳瓶颈、规避碳关税壁垒的核心路径。2025年9月,国家发展改革委、国家能源局发布《关于完善价格机制促进新能源发电就近消纳的通知》(1192号文),为绿电直连项目的经济性分析与效益测算提供了明确的政策依据。本文将基于新政框架,深入解析绿电直连项目的经济性影响因素、盈利模式与优化路径,并结合案例与量化模型,为项目投资决策提供系统参考。

getusushu的博客 141

leetcode 验证回文字符串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 解题思路: 首先,因为只考虑字母和数字,并忽略字母大小,所以要把字符串...

a627082796的博客 781

基于单片机设计的智能消防排烟窗控制系统_422

随着城市化进程的不断加快,高层建筑、大型商业综合体以及地下空间的数量迅速增加,建筑内部结构日趋复杂,一旦发生火灾,烟雾和有毒气体往往比明火更具威胁性。大量研究表明,在火灾事故中,人员伤亡的主要原因并非直接烧伤,而是由于吸入烟雾及一氧化碳等有毒气体导致窒息。因此,如何在火灾初期快速排烟、降低有害气体浓度,并及时进行预警,成为现代消防系统设计中的关键问题。传统的消防排烟系统多依赖人工操作或简单的联动控制方式,存在响应滞后、自动化程度低、信息反馈不及时等问题。在实际应用中,当火灾发生时,如果不能第一时间开启排烟窗

405

【字符串】之 验证回文串 + 统计回文

字符串1. 验证回文串题目描述题目分析C++代码2. 统计回文题目描述题目分析C++代码 1. 验证回文串 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true https://leetcode-cn.com/problems/valid-palindrome/ 题目分析 将小写字母全部转换成大写字母,设置头尾指针

lyly_h的博客 784

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

验证回文字符串2

验证回文字符串2

huahua的博客 183

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

四、验证回文字符串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 定义头尾指针,从头尾遍历判断字符是否相等(非数字/非字符则跳过) class...

NeilNiu 217

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

680. 验证回文字符串 Ⅱ

题目: 680. 验证回文字符串 Ⅱ 题解: 代码: public class code680 { // 思路: 判断是否是回文串,只要存在一个不相同,即不为回文串; // 删除一个字符串的方法:① 删除左边的 ②删除右边的 // 删除之后只需要判断没判断过的部分,不需要重新开始了喔!! public static boolean validPalindrome(String s) { // 不用判断边界 int

dev_zyx的博客 223

验证回文字符串 Ⅱ

680. 验证回文字符串 Ⅱ 来源: LeetCode 680. 验证回文字符串 Ⅱ 题目描述 680. 验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: True 解释: 你可以删除c字符。 注意: 字符串只包含从 a-z 的小写字母。字符串的最大长度是50...

MrDing_CoolPig的博客 215

力扣 680. 验证回文字符串 Ⅱ

仅为个人做题笔记 做题不要轴

shuaishuai__的博客 330

C语言经典算法之验证回文字符串

在C语言中,验证回文字符串可通过创建函数,使用两个指针分别从首尾开始向中间遍历并逐字符比较。若所有对应位置字符相同(忽略大小写和非字母数字字符),则该字符串为回文。

weixin_56154577的博客 2409

LeetCode 680. 验证回文字符串 Ⅱ | Python

使用双指针的方法,解决《680. 验证回文字符串 Ⅱ》问题

"大梦三千秋的博客 876
上一篇: 有效的字母异位词
下一篇: 实现strStr()
coder_flag
博客等级 码龄9年 2粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值