当前位置: 首页 > news >正文

125. 验证回文串 【简单题】

题目

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

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 

示例 1:

输入: s = "A man, a plan, a canal: Panama"
输出:true
解释:"amanaplanacanalpanama" 是回文串。

示例 2:

输入:s = "race a car"
输出:false
解释:"raceacar" 不是回文串。

示例 3:

输入:s = " "
输出:true
解释:在移除非字母数字字符之后,s 是一个空字符串 "" 。
由于空字符串正着反着读都一样,所以是回文串。

思路一:筛选+判断

代码一

c++
class Solution {
public:bool isPalindrome(string s) {// 2023年9月22日 14:20// 思路:复制一个新字符串,遍历源字符串,满足条件则加入新字符串。//  判断:从0到一半,依次遍历,只要跟相应的字符相同即可string res;bool flag = false;int i;for (i = 0; i < s.length(); i++) {if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= '0' && s[i] <= '9')) {res += s[i];}else if (s[i] >= 'A' && s[i] <= 'Z') {s[i] += 32;res += s[i];}}int len = res.length();if(len == 1){return true;}int j;for (j = 0; j < (len / 2); j++) {if (res[j] != res[len-1 - j]) {break;}}if (j == (len / 2)) {flag = true;}return flag;      }
};
python
class Solution:def isPalindrome(self, s: str) -> bool:res = ""    # 定义一个空字符串for ch in s:    // 对字符串s进行依次遍历,ch为遍历的当前字符if(ch.isalnum()):    // 如果当前字符是字母或数字res += ch.lower()    // 若当前字符是字母,则把它变为小写字母return res == res[::-1]    // 字符串反转,比较

答案提供的两个函数:

isalnum:

判断一个字符是否是字母或者(十进制)数字,若为字母或者数字,则返回True(非0值),否者返回False(0)

tolower、toupper

答案思路

相关文章:

125. 验证回文串 【简单题】

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

描述性统计分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件可在个人主页—…...

Visual Studio2019 C++ 编程问题集锦

“const char*” 类型的值不能用于初始化“char*"类型的实体 解决方案一&#xff1a; 点击项目->属性->C/C>语言->符合模式&#xff0c;将原来的“是”改为“否”即可。解决方案二&#xff1a; 在声明变量 char* 时改成 const char *即可...

链表的回文判断

思路: 找中间节点–>逆置->比较 代码&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* head) { struct ListNode*slowhead; struct ListNode*f…...

281_JSON_两段例子的比较,哪一段更简洁、易懂、没有那么多嵌套

《第一份:》//组装Notificationif (bSendAINotification){BOOST_AUTO(iter_flashnotification, documentAll.FindMember("Notification"));if (iter_flashnotification != documentAll....

想要精通算法和SQL的成长之路 - 最长递增子序列 II(线段树的运用)

想要精通算法和SQL的成长之路 - 最长递增子序列 II&#xff08;线段树的运用&#xff09; 前言一. 最长递增子序列 II1.1 向下递推1.2 向上递推1.3 更新操作1.4 查询操作1.5 完整代码&#xff1a; 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 最长递增子序列 II 原题链接…...

java用easyexcel按模版导出

首先在项目的resources下面建一个template包&#xff0c;之后在下面创建一个模版&#xff0c;模版格式如下&#xff1a; 名称为 financeReportBillStandardTemplateExcel.xlsx&#xff1a; {.fee}类型的属性值&#xff0c;是下面实体类的属性&#xff0c;要注意这里面的格式&a…...

Servlet执行流程生命周期方法介绍体系结构、Request和Response的功能详解

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Servlet 一、 Servlet执行流程二、Servlet生…...

软件工程之总体设计

总体设计是软件工程中的一个重要阶段&#xff0c;它关注整个系统的结构和组织&#xff0c;旨在将系统需求转化为可执行的软件解决方案。总体设计决定了系统的架构、模块划分、功能组织以及数据流和控制流等关键方面。 可行性研究 具体方面&#xff1a;经济可行性、技术可行性…...

监控员工电脑文件拷贝记录:电脑怎么看员工复制文件的历史记录

在现代企业管理中&#xff0c;数据安全和保密是极其重要的一环。企业需要确保敏感信息不被泄露&#xff0c;以防止可能的法律纠纷和经济损失。为此&#xff0c;许多公司都采取了一些措施来监控员工的电脑使用行为。其中&#xff0c;监控文件拷贝记录是一种常见的方法。本文将详…...

vue中request.js中axios请求和(若依)文件通用下载方法封装

vue中request.js中axios请求和&#xff08;若依&#xff09;文件通用下载方法封装 1.request.js import axios from axios import { Message, Loading } from element-ui import { saveAs } from file-saver // 创建axios实例 const request axios.create({// 这里可以放一…...

【大数据存储与处理】1. hadoop单机伪分布安装和集群安装

0. 写在前面 0.1 软件版本 hadoop2.10.2 ubuntu20.04 openjdk-8-jdk 0.2 hadoop介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个…...

linux通过time命令统计代码编译时间

首先编写一个编译脚本 build.sh 内容如下&#xff1a; 然后执行time sh build.sh 编译完成后输出三个时间 time sh xxx.sh # 会返回3个时间数据 (1) real&#xff1a;从进程 ls 开始执行到完成所耗费的 CPU 总时间。该时间包括 ls 进程执行时实际使用的 CPU 时间&#xff0c;…...

logback日志是怎么保证多线程输出日志线程安全的

logback中的单例模式 logback日志框架使用了单例设计模式来进行日志输出。在logback中&#xff0c;Logger类是一个关键的组件&#xff0c;它负责记录和输出日志消息。 Logger类使用了单例设计模式&#xff0c;确保在一个应用程序中只存在一个Logger实例。这样做的好处是可以确…...

2022年统计用区划代码表SQL 01

行政区划代码为国家公布的六位县级以上行政区划代码 行政区编码的用途&#xff1a; APP里做城市级联选择根据身份证前六位获取用户所在城市区县 370786 昌邑市 370800 济宁市 370811 任城区 370812 兖州区 百度高德等接口通常都会返回adcode字段 (行政区编码)根据 行政区编…...

EM@基本初等函数@幂和根式@指数函数

abstract 基本初等函数幂和根式指数函数 指数和幂 正整指数幂 a n a^{n} an a ⋯ a ⏟ n 个 \underbrace{a\cdots{a}}_{n个} n个 a⋯a​​, n ∈ N n\in\mathbb{N^{}} n∈N 其中 a n a^{n} an称为** a a a的 n n n次幂** a a a叫做幂的底数, n n n叫做幂的指数 正整指数…...

时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测

时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测 目录 时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测&#…...

element 二次确认框,内容自定义处理

上代码&#xff1a; async inspectionTypeOff(row) {console.log(row.id);let taskArray await this.getTaskList(row.id); // 查询关联的任务console.log("taskArray", taskArray);let messageTip taskArray.length > 0? <div><p>确认禁用巡检项&…...

【软件设计师-中级——刷题记录4(纯干货)】

目录 进度管理工具Grantt图&#xff1a;程序语言基础&#xff1a;高级语言源程序模式&#xff1a; 每日一言&#xff1a;持续更新中... 个人昵称&#xff1a;lxw-pro 个人主页&#xff1a;欢迎关注 我的主页 个人感悟&#xff1a; “失败乃成功之母”&#xff0c;这是不变的道理…...

9.24 校招 实习 内推 面经

绿泡*泡&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表 1、自动驾驶一周资讯 - 小马智行在京开展“车内无人”出行服务商业化试点&#xff0c;余承东将升任车BU董事长 自动驾驶一周资讯 - 小马智行在京开展“车内无人”出行服务商业化试点&#xff0…...

StructBERT模型Java八股文知识库构建:面试题相似度检索与去重

StructBERT模型Java八股文知识库构建&#xff1a;面试题相似度检索与去重 1. 引言 如果你是负责招聘的技术面试官&#xff0c;或者是在线教育平台的题库维护者&#xff0c;下面这个场景你一定不陌生&#xff1a;新收集到一道关于“Java中HashMap和ConcurrentHashMap的区别”的…...

C# .NET 周刊|2026年3月1期

国内文章.NET 11 预览版1&#xff1a;CoreCLR 在 WebAssembly 上的全面集成与性能突破https://www.cnblogs.com/shanyou/p/19629649.NET 11 Preview 1 正式发布&#xff0c;标志着 CoreCLR 运行时能原生支持 WebAssembly。这是微软在跨平台战略上的重大进展。CoreCLR 提供更优性…...

使用 C++ 模拟 ShaderLanguage 的 swizzle

经常编写着色器的同学应该对 swizzle&#xff08;重排&#xff09;语法非常熟悉&#xff0c;方便又灵活&#xff0c;可以说是用过一次便回味无穷。 代码 vec4 color vec4(1.0, 0.5, 0.0, 1.0); vec3 rgb color.rgb; // { 1.0, 0.5, 0.0 } vec2 xy color.xy; …...

从ILSVRC2015_VID到SOT与MOT:这个经典数据集如何影响了今天的多目标跟踪算法?

ILSVRC2015_VID&#xff1a;计算机视觉领域的"罗塞塔石碑"如何重塑目标跟踪技术 当计算机视觉领域的学者们谈起目标跟踪算法的演进史&#xff0c;2015年是个绕不开的年份。那一年&#xff0c;ImageNet大规模视觉识别挑战赛&#xff08;ILSVRC&#xff09;首次引入视频…...

Windows主题自由革命:SecureUxTheme安全启动兼容的内存补丁终极指南

Windows主题自由革命&#xff1a;SecureUxTheme安全启动兼容的内存补丁终极指南 【免费下载链接】SecureUxTheme &#x1f3a8; A secure boot compatible in-memory UxTheme patcher 项目地址: https://gitcode.com/gh_mirrors/se/SecureUxTheme 厌倦了Windows千篇一律…...

PVC绑定背后的秘密:图解K8s存储卷匹配规则与优先级机制

PVC绑定背后的秘密&#xff1a;图解K8s存储卷匹配规则与优先级机制 当你在Kubernetes集群中部署一个有状态应用时&#xff0c;最令人头疼的问题之一就是存储资源的管理。为什么有些PVC&#xff08;PersistentVolumeClaim&#xff09;能快速绑定到合适的PV&#xff08;Persisten…...

拨叉[831002] 2-钻φ60孔夹具

拨叉作为机械传动系统中的关键零件&#xff0c;其加工精度直接影响设备运行的稳定性。在2-钻φ60孔的工序中&#xff0c;专用夹具的核心作用在于通过精准定位与可靠夹紧&#xff0c;确保孔径尺寸、位置度及表面粗糙度等关键指标符合设计要求。该夹具采用“一面两销”定位原理&a…...

在Ubuntu 22.04上为RK3588编译带RKmpp和RGA的FFmpeg(保姆级避坑指南)

在Ubuntu 22.04上为RK3588编译带RKmpp和RGA的FFmpeg&#xff08;保姆级避坑指南&#xff09; RK3588作为Rockchip新一代旗舰SoC&#xff0c;其强大的多媒体处理能力吸引了众多开发者。本文将手把手带你完成FFmpeg的完整编译流程&#xff0c;重点解决环境配置、依赖管理、运行时…...

如何10分钟快速上手:语音转换工具完全指南

如何10分钟快速上手&#xff1a;语音转换工具完全指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI 语音数据小于等于10分钟也可以用来训练一个优秀的变声模型&#xff01; 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion…...

SDMatte效果深度评测:复杂发丝与透明物体的抠图表现

SDMatte效果深度评测&#xff1a;复杂发丝与透明物体的抠图表现 1. 开篇&#xff1a;当AI遇到抠图难题 抠图技术发展了几十年&#xff0c;但遇到复杂发丝和透明物体时&#xff0c;传统方法往往束手无策。直到AI技术的介入&#xff0c;这个老大难问题才有了突破性进展。SDMatt…...