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

js 判断是否为回文串

需求:忽略英文大小写和空格差异,判断是否为回文字符串(例如"我爱你  你爱我","abc bA")

思路:利用翻转字符串比较,利用循环+双指针,利用递归或者双循环(比较消耗性能,不推荐)

1.翻转字符串比较

isPalindrome(str) {if (!str) return false;// 去除字符串中的空格,并转换为小写,以忽略大小写和空格差异let newStr = str.replace(/\s/g, "").toLowerCase();let reverseStr = newStr.split("").reverse().join("");return reverseStr === newStr;
},

2.双指针法(推荐)

isPalindrome(str) {if (!str) return false;// 去除字符串中的空格,并转换为小写,以忽略大小写和空格差异const normalizedStr = str.replace(/\s/g, "").toLowerCase();let left = 0;let right = normalizedStr.length - 1;while (left < right) {if (normalizedStr[left] !== normalizedStr[right]) {return false;}left++;right--;}return true;
},

http://www.lryc.cn/news/417235.html

相关文章:

  • 多重背包c++
  • kernel input事件测试程序
  • gd32 i2c 中断 主机从机双向通信例程
  • 程序员在AI时代:重塑核心竞争力,共舞智能未来
  • apex发送邮件中显示饼状图和条形图
  • 【HarmonyOS NEXT星河版开发学习】小型测试案例07-弹性布局小练习
  • Sparksql array相关函数
  • 软件测试学习笔记
  • Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
  • 常考常考高频率
  • Linux项目环境的搭建 (Red hat 9.0Linux操作系统)
  • Study--Oracle-08-ORACLE数据备份与恢复(一)
  • FreeIPA安装
  • mysql数据库:SQL语言基础和基本查询
  • strimzi operator 部署kafka集群(可外部访问)
  • 【网络安全】探索AI 聊天机器人工作流程实现RCE
  • 虚拟DOM、Vue渲染流程
  • centos7 启动python后端服务与停止服务的sh脚本
  • 访问网站显示不安全怎么办?
  • Scala与集合框架:高效数据处理的利器
  • 基于 JWT 的模拟登录爬取实战
  • 力扣(2024.08.06)
  • 如何快速入门 PyTorch ?
  • Qt 快速部署环境(windeployqt.exe)
  • 白骑士的PyCharm教学实战项目篇 4.2 数据分析与可视化
  • el-form-item,label在上方显示,输入框在下方展示
  • Centos7.9操作系统kdump crash文件vmcore未生成问题
  • 找不到符号 javax.servlet.WriteListener
  • 智能仪表板DevExpress Dashboard v24.1 - 新增级联参数过滤
  • 计算机网络-CSP初赛知识点整理