力扣刷题Days31-第二题-125.验证回文串(js)

目录

1,题目

2,代码

2.1自己完成

2.2双指针


1,题目

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

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

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

2,代码

2.1自己完成

/*** @param {string} s* @return {boolean}*/
var isPalindrome = function(s) {// 遍历过程情况// 大写字母 则转化为小写字母// 小写字母 数字 直接保留 // 非字母数字  丢掉// 先将不必要的内容进行去除let strInit = [];let index = 0;for(let i = 0;i < s.length ;i++){if(s[i]>='a' && s[i]<='z'){strInit[index++] = s[i];}else if(s[i]>='A' && s[i]<='Z'){strInit[index++] = s[i].toLowerCase();}else if(s[i]>='0' && s[i]<='9'){strInit[index++] = s[i];}}const oldString = strInit.join('');const reverseString = strInit.reverse().join('');return oldString === reverseString;};

判断字符子否为数字,只需要判断其是否在0到9之间即可,并不存在多位数的数字情况;

数组的reverse()函数是在原函数上进行操作,所以要先保留原本的数组,这里将保留原数组和转化为字符串并为一步实现;(join()函数是不改变原来数组的)

2.2双指针

/*** @param {string} s* @return {boolean}*/
var isPalindrome = function(s) {//双指针let left = 0,right = s.length - 1;while(left < right){while (left < right && !/[a-zA-Z0-9]/.test(s.charAt(left))) {left++;}while(left < right && !/[a-zA-Z0-9]/.test(s.charAt(right))){right--;}if( s.charAt(left).toLowerCase() !=  s.charAt(right).toLowerCase()){return false;}else{right--;left++;}}return true;};

利用正则表达式对大小字母和数字进行一个匹配筛选


var isPalindrome = function(s) { //双指针let left = 0,right = s.length - 1;while(left < right){···while(left < right && !/[a-zA-Z0-9]/.test(s.charAt(right))){right--;}···}···};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/294856.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis面试题汇总

目录 一、动力节点Redis的书 7. Redis持久化 二、马士兵李瑾老师 2.1 Redis高级特性和应用 1&#xff09;发布订阅&#xff1a; 2&#xff09;Stream 延伸&#xff1a;Redis中几种消息队列实现的总结 3&#xff09;慢查询 4&#xff09;Pipeline流水线 5&#xff09;…

ObjectiveC-03-XCode的使用和基础数据类型

本节做为Objective-C的入门课程&#xff0c;笔者会从零基础开始介绍这种程序设计语言的各个方面。 术语 ObjeC&#xff1a;Objective-C的简称&#xff0c;因为完整的名称过长&#xff0c;后续会经缩写来代替&#xff1b;项目/工程&#xff1a;也称工程&#xff0c;指的是一个A…

南洋万邦与实在智能达成战略合作,AI Agent智能体助力上海政企数字化转型

2024年3月29日&#xff0c;浙江实在智能科技有限公司&#xff08;简称“实在智能”&#xff09;与上海南洋万邦软件技术有限公司&#xff08;简称“南洋万邦”&#xff09;签订战略合作协议&#xff0c;双方正式建立战略合作伙伴关系。 在这次战略合作中&#xff0c;南洋万邦和…

基于深度学习的端到端自动驾驶的最新进展:调研综述

基于深度学习的端到端自动驾驶的最新进展&#xff1a;调研综述 附赠自动驾驶学习资料和量产经验&#xff1a;链接 论文链接&#xff1a;https://arxiv.org/pdf/2307.04370.pdf 调研链接&#xff1a;https://github.com/Pranav-chib/ 摘要 本文介绍了基于深度学习的端到端自…

inBuilder 低代码平台新特性推荐 - 第十七期

今天来给大家带来的是 inBuilder 低代码平台特性推荐系列第十七期——如何在列表上添加图片。 一、 场景介绍 在表单开发的业务场景中&#xff0c;会有需要在列表上显示图片的场景&#xff0c;本文以车辆登记信息场景为例&#xff0c;介绍如何在列表上添加图片的开发过程。 …

CTF题型 nodejs(2) Js沙盒vmvm2逃逸原理总结典型例题

CTF题型 nodejs(2) Js沙盒逃逸原理&典型例题 文章目录 CTF题型 nodejs(2) Js沙盒逃逸原理&典型例题一.vm原理以及逃逸1.基本用法2.如何逃逸汇总1)this为对象2)this为null( Object.create(null))a .可用输出直接触发toString方法b.调用属性触发 3)Object.create(null)沙…

QT 如何集成minizip和zlib, 实现多文件压缩?

一.zlib库的源码地址 官网地址:zlib Home Site,找到"All released versions of zlib",点击选择自己的版本,这里我用的是zlib-1.2.11版本,下载源码。 二.mac下编译,window下cmake正常编译即可。 1.我这里需要使用的是64位的。 所以,cmake源码里添加如下代码。 …

论文精读--GPT4

现有的所有模型都无法做到在线学习&#xff0c;能力有限&#xff0c;而让大模型拥有一个tools工具库&#xff0c;则可以使大模型变成一个交互式的工具去协调调用API完成任务&#xff0c;同时GPT4还联网了&#xff0c;可以不断地更新自己的知识库 多模态模型&#xff0c;接受文…

关于 C/C++ 1Z(17)开源项目 openppp2 协同程式切换工作流

下述为开源项目 openppp2&#xff08;github&#xff09;构建工作在 C/C 17 的 stackful 有栈协同程式的工作流切换示意图&#xff1a; 在 openppp2 之中采用人工手动方式管理协同程式之间的切换&#xff0c;每个中断过程只是保存线程栈信息&#xff08;如寄存器、当前#PC EIP&…

GeoLite2 geoip数据库下载和使用

GeoLite2 数据库是免费的 IP 地理定位数据库&#xff0c;与MaxMind 的 GeoIP2 数据库相当&#xff0c;但准确度较低 。GeoLite2 国家、城市和 ASN 数据库 每周更新两次&#xff0c;即每周二和周五。GeoLite2 数据还可作为 GeoLite2 Country 和 GeoLite2 City Web 服务中的 Web …

新手学python还是c?

考虑到个人情况和职业规划是非常重要的。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信22&#xff0c;我在后台发给你。 Python作为初学者入门语言…

怎么更新sd-webui AUTOMATIC1111/stable-diffusion-webui ?

整个工程依靠脚本起来的&#xff1a; 可直接到stable-diffusion-webui子目录执行&#xff1a; git pull更新代码完毕后&#xff0c;删除venv的虚拟环境。 然后再次执行webui.sh&#xff0c;这样会自动重新启动stable-diffusion-webui.

“超越摩尔定律”,存内计算走在爆发的边缘

前言 过去几十年来&#xff0c;在摩尔定律的推动下&#xff0c;处理器的性能有了显著提高。然而&#xff0c;传统的计算架构将数据的处理和存储分离开来&#xff0c;随着以数据为中心的计算&#xff08;如机器学习&#xff09;的发展&#xff0c;在这两个物理分离的单元之间传…

HarmonyOS 应用开发之LifecycleForm接口切换LifecycleApp接口切换 LifecycleApp接口切换

LifecycleForm接口切换 FA模型接口Stage模型接口对应d.ts文件Stage模型对应接口onCreate?(want: Want): formBindingData.FormBindingData;ohos.app.form.FormExtensionAbility.d.tsonAddForm(want: Want): formBindingData.FormBindingData;onCastToNormal?(formId: string…

百度网站收录提交入口

百度网站收录提交入口 在网站刚建立或者更新内容后&#xff0c;及时将网站提交给搜索引擎是提高网站曝光和获取流量的重要步骤之一。百度作为中国最大的搜索引擎之一&#xff0c;网站在百度中的收录情况尤为重要。下面介绍一下如何通过百度的网站收录提交入口提交网站。 1. 百…

Pygame基础9-射击

简介 玩家用鼠标控制飞机&#xff08;白色方块&#xff09;移动&#xff0c;按下鼠标后&#xff0c;玩家所在位置出现子弹&#xff0c;子弹匀速向右飞行。 代码 没有什么新的东西&#xff0c;使用两个精灵类表示玩家和子弹。 有一个细节需要注意&#xff0c;当子弹飞出屏幕…

视觉里程计之对极几何

视觉里程计之对极几何 前言 上一个章节介绍了视觉里程计关于特征点的一些内容&#xff0c;相信大家对视觉里程计关于特征的描述已经有了一定的认识。本章节给大家介绍视觉里程计另外一个概念&#xff0c;对极几何。 对极几何 对极几何是立体视觉中的几何关系&#xff0c;描…

从学习海底捞到学习巴奴,中国餐饮带洋快餐重归“产品主义”

俗话说“民以食为天”&#xff0c;吃饭一向是国人的头等大事&#xff0c;餐饮业也是经济的强劲助推力。新世纪以来&#xff0c;餐饮业不断讲述着热辣滚烫的商业故事。 2006年&#xff0c;拥有“必胜客”、“肯德基”等品牌的餐饮巨头百胜集团&#xff0c;组织两百多名区域经理…

Effective-C++阅读解析条款(条款二:尽量以const,enum,inline替换#define)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 书中说这个条款或许改为“宁可以编译器替换预处理器”比较好&#xff0c;这句话在我看来原因是这样的&#xff1a; 如果我们有这样一个宏(假设写这个宏的人比较粗心)&#xff1a;#define Add(x, y) x y 我们本意是想得到…

全栈的自我修养 ———— redux入门(看这么一篇就够了!!!)

redux时react中负责状态管理的工具 一、下载二、配置1、目录2、store配置3、redux中index.js配置4、启动类中index.js配置 三、使用1、调用store的数据2、调用store里面的方法3、改变store里面的值 一、下载 npm I reduxjs/toolkit react-redux二、配置 1、目录 modules里面…