leetcode 125.验证回文串

【简单】力扣算法题解析LeetCode125:验证回文串 判断字符串是否为回文串,忽略非字母数字字符且不区分大小写。使用双指针法,首先预处理字符串,过滤非字母数字字符并统一转为小写。然后左右指针从两端向中间遍历比较字符,若发现不匹配则返回false,否则遍历结束后返回true。该方法时间复杂度O(n),空间复杂度O(1)。示例代码展示了Java实现,通过跳过无效字符并比较有效字符来高效判断回文。 阅读详情

leetcode 125.验证回文串

题目描述

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

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

示例 2:
输入: “race a car”
输出: false

解题思路

首先把输入的字符串转化一下,这里统一的里面的大写字符转换成小写的,把非字符数字的字符去掉,生成一个新的字符。新的字符串中,定义两个遍历,从两端向中间移动,如果遇到不相同的字符,表示该字符串是一个非回文串。

class Solution {
public:
    bool isPalindrome(string s) {
        // 把非字母和数字的字符去掉
        s = converter(s);
        int len = s.size();
        if (len == 0){
            return true;
        }
        int left = 0;
        int right = len-1;
        while (left < right){
            if(s[left] != s[right]){
                return false;
            }
            left++;
            right--;
        }

        return true;
    }
    
    /*
    	字符串转换
    */
    string converter(string& s){
        string str = "";
        for(int i=0; i<s.size(); i++){
            if('a'<= s[i] && s[i] <='z') {
                str += s[i];
            }
            else if('A' <= s[i] && s[i] <= 'Z'){
                str += s[i]+32;
            }
            else if('0' <= s[i] && s[i] <= '9'){
                str += s[i];
            }
            else{
                continue;
            }
            
        }
        return str;
    }
};

欢迎大家关注我的个人公众号,同样的也是和该博客账号一样,专注分享技术问题,我们一起学习进步
在这里插入图片描述

高通8397/8797 qcx camera usecase梳理 本文介绍了ISP(图像信号处理器)的两种工作模式:Inline模式和Offline模式。Inline模式下,前端(IFE)直接连接物理层并行处理,最多支持4路流处理,后端(IPE)通过内存访问完成增强处理;Offline模式下,图像数据先写入内存再由SFE_Lite读取发送给IFE_Full处理,实现一个IFE串行处理多路数据。文章还详细解析了camera_config和usecase配置文件的结构与作用,包括硬件资源配置、场景逻辑定义等,并以ID40_UsecaseDMS为例说明离线模式的具体实现流程,包 阅读详情

相关推荐

树莓派CSI/DSI二合一接口深度玩法:同时驱动MIPI摄像头和屏幕的配置秘籍

本文详细解析了树莓派5上CSI/DSI二合一接口的深度玩法,提供了同时驱动MIPI摄像头和屏幕的完整配置秘籍。从硬件连接到软件设置,包括config.txt的优化配置,帮助用户充分利用树莓派5的双多功能接口,实现高效的双设备工作模式。

weixin_30687051的博客 573

【Java力扣算法】LeetCode 125 验证回文串

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

懂技术的猫 534

利用featureCounts实现高效转录本定量:从比对到下游分析

本文详细介绍了利用featureCounts工具进行RNA-seq转录本定量的完整流程。从软件安装、输入文件准备,到核心命令参数解析与批量样本处理,再到将生成的计数矩阵无缝衔接至DESeq2进行差异表达分析,提供了从比对到下游分析的一站式实战指南。文章重点阐述了featureCounts在效率与易用性上的优势,并分享了常见问题排查与性能优化技巧,帮助研究者高效完成转录本定量这一关键步骤。

weixin_29069131的博客 318

关于力扣LeetCode第125题验证回文串

关于力扣LeetCode第125题验证回文串 我是用栈的方式解决的,将所有字母数字全部入栈,再全部出栈后就能得到反转,将入栈的内容与出栈的内容对比,完全相等那就是回文串了 缺点就是 没有优点,速度慢 内存占用高,只是作为一种思路延伸吧,初学,看官勿喷 //125. 验证回文串 public boolean isPalindrome(String s) { s=s.toLowerCase(); // 不区分大小写

weixin_43967331的博客 299

IBIS模型中的Pullup和Pulldown曲线详解:如何避免信号完整性设计中的常见错误

本文深入解析IBIS模型中Pullup和Pulldown曲线的关键作用,揭示其在信号完整性设计中的黄金法则。通过详细分析曲线特性、常见误区及验证方法,帮助工程师避免设计错误,优化高速PCB设计。文章还展示了曲线数据在动态终端匹配、串扰预测和电源完整性分析中的高级应用,提升设计效率和可靠性。

weixin_30275415的博客 451

2025年最新Cesium学习示例:Cesium-Examples

2025年最新Cesium学习示例:Cesium-Examples

2403_88103571的博客 1011

LeetCode125_验证回文串

C++中的 isalnum() 函数

Haolin_Liu的博客 678

图相似度模型(论文篇)

图相似度模型

weixin_43702653的博客 5748

LeetCode 力扣 125. 验证回文串

题目描述(简单难度) 判断一个字符串是否是回文串,忽略掉除了字母和数字外的字符。 解法一 两个指针,一个指针从头进行,一个指针从尾部进行。依次判断两个指针的字符是否相等,同时要跳过非法字符。需要注意的是,两个指针不用从头到尾遍历,当两个指针相遇的时候就意味着这个字符串是回文串了。 还需要注意的是 'A' == 'a' ,也就是大写字母和小写字母是相同的。 publ...

wind_liang的博客 1223

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.csdn.net/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

解决银河麒麟V10分辨率问题:xrandr命令详解与常见错误排查

本文详细解析了在银河麒麟V10系统中使用xrandr命令调整屏幕分辨率的方法,包括核心功能解析、常见问题排查及持久化配置技巧。通过实战指南帮助用户解决分辨率缺失、配置失效等典型问题,提升多显示器环境下的工作效率。

weixin_30642561的博客 504

Leetcode 125. 验证回文串

2.最开始想的是,直接 while 循环遍历字符串,如果两个指针对应的字符不是字符也不是数字的,就后移或者前移。如果是大写就给它转换成小写,但是字符串中不能修改单个字符,就使用了list转换一下。如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。后来发现可以直接将字符串转成小写的,在生成list的时候就给转换了。解释:在移除非字母数字字符之后,s 是一个空字符串 “”。

li_yizhixiaowukong的博客 1132

windows 10 等保3级配置核查与加固(附自动化加固脚本)

关闭注册表编辑器,然后重新启动计算机。\\r\\n 对于OPC通讯站(server\\\\client),【密码最长存留期】需要设置为0,即密码不过期。‌445端口‌:修改注册表禁用。打开命令提示符,运行命令“gpedit.msc”打开组策略编辑器,浏览到路径“本地计算机策略\\\\计算机配置\\\\Windows设置\\\\安全设置\\\\本地策略\\\\安全选项”,在右边窗格中找到“Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器”,双击,配置为“已禁用”,确定。

悦分享 160

LeetCode 力扣 125. 验证回文串 isPalindrome

大家觉得写还可以,可以点赞、收藏、关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录125. 验证回文串题目描述说明示例 1:示例 2:分析提交结果 125. 验证回文串 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明 本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例

motongxue的博客 341

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Leetcode 125. 验证回文串 C++

Leetcode 125. 验证回文串 题目 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 测试样例 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 题解 双指针,一个指针从左向右,一个指针从右向左,注意只考虑字母和数字,同时将字母都当作大写。详细过程见代码 代码 bool isValid(cha

weixin_43750513的博客 275

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

力扣解题-125. 验证回文串

正则预处理解法(第一次/第二次):逻辑直观但性能差,正则替换是核心损耗,仅适合快速编写代码;手动过滤+双指针:性能优于正则解法,逻辑简洁,是工程中折中选择;原地双指针法(最优解):空间O(1)、时间O(n)且常数因子小,无额外内存开销,是本题的最优写法;关键优化技巧:避免使用正则处理简单字符过滤,优先用;尽可能在原字符串上操作,减少新字符串生成;双指针遍历过程中提前终止(发现不匹配直接返回),减少无效操作。

qq_38261626的博客 988

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode第125题_验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。字母和数字都属于字母数字字符。给你一个字符串s,如果它是,返回true;否则,返回false。

qq_40263592的博客 1263

<LeetCode力扣>125. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 解释:“amanaplanacanalpanama” 是回文串 示例 2: 输入: “race a car” 输出: false 解释:“raceacar” 不是回文串 提示: 1)1 <= s.length <= 2 * 10^5 2)字符串 s 由 AS.

wanlaizhou的博客 462

LeetCode 125. 验证回文串 java

LeetCode 125. 验证回文串 java 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false JAVA 代码: class Solutio...

lele的专栏 364

125. 验证回文串【 力扣(LeetCode) 】

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

yyh520025的博客 680

LeetCode 125 验证回文串 简单

验证回文串 简单

分享简单技术,记录点滴成长 382

【leetcode】125.验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。给你一个字符串 s,如果它是 回文串 ,返回 true;输入: s = “A man, a plan, a canal: Panama”解释:“amanaplanacanalpanama” 是回文串。解释:在移除非字母数字字符之后,s 是一个空字符串 “”。由于空字符串正着反着读都一样,所以是回文串。解释:“raceacar” 不是回文串。输入:s = “race a car”输入:s = " "

qq_38473254的博客 796

Leetcode:NO.125 验证回文串

题目 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 链接:https://leetcode-cn.com/problems/valid-palindrome 解题记录 先写一个函数用于将字符串转换为没有特殊字符,大写转小写 然后左右两个指针比对判

泛泛之素 1242

力扣125. 验证回文串(双指针、内置函数)

力扣125. 验证回文串(双指针、内置函数) https://leetcode-cn.com/problems/valid-palindrome/ 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 ...

小麦China的博客 298

LeetCode 1-1:125 验证回文串

LeetCode 1-1:125 验证回文串 1 题目 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 2 说明 本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: 输入: “race a car” 输出: false Related Topics: 双指针 字符串 3 解答 1 解答成功: 执行耗时:40 ms,击败了98.10% 的Python3用户 内存

guobingai的博客 200

LeetCode 125. 验证回文串 | C++语言版

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

weixin_45992021的博客 704
上一篇: leetcode 104.二叉树的最大深度
下一篇: leetcode 136.只出现一次的数字
黑暗主宰
博客等级 码龄9年 72粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值