首页 > 其他分享 >每日一题:验证回文串

每日一题:验证回文串

时间:2024-01-03 11:36:49浏览次数:24  
标签:返回 字符 数字 迭代 验证 每日 字母 回文


验证回文串

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

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

思路:

  • 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。
  • 先用正则表达式处理字符串,替换 /[^a-zA-Z0-9]/g 所有非字母和数字,/\s/g 所有空格为""
  • 然后统一转为大写或者小写
  • 设2个指针ij,一个从0开始,一个从处理后的字符串最后开始
  • while迭代,一个增加一个减少,当他们碰头的时候结束迭代
  • s[i]!=s[j]就返回false跳出迭代,全部迭代完都相等返回true
/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    s=s.replace(/[^a-zA-Z0-9]/g,"").replace(/\s/g,"").toLowerCase();
    let i=0,j=s.length-1;
    while(i<j){
        if(s[i]!=s[j]){
           return false;
        }
        i++;
        j--;
    }
    return true;
};


标签:返回,字符,数字,迭代,验证,每日,字母,回文
From: https://blog.51cto.com/u_15808854/9080772

相关文章

  • 【Azure APIM】在APIM中实现JWT验证不通过时跳转到Azure登录页面
    问题描述在APIM中配置JWT策略,验证JWT,如果认证失败,则跳转到AzureEntraID的Login页面。 问题解答要实现JWT验证失败后,跳转到AzureEntraID的Login页面。需要使用到两种策略:validate-jwt:https://learn.microsoft.com/en-us/azure/api-management/validate-jwt-policyretu......
  • openGauss学习笔记-184 openGauss 数据库运维-升级-升级验证
    openGauss学习笔记-184openGauss数据库运维-升级-升级验证本章介绍升级完成后的验证操作。给出验证的用例和详细操作步骤。184.1验证项目的检查表表1验证项目的检查表序号验证项目检查标准检查结果1版本查询查询升级后版本是否正确-2健康检查使用gs_ch......
  • Git的GPG签名 —— Tag签名 Verified验证,防伪造的gitee/github commit验证
    相关资料:如何使用git通过ssh协议拉取gitee上的项目代码——如何正确的免密使用git不论是gitee还是GitHub都有两种公钥设置,一种是ssh公钥,另一种则是GPG公钥。ssh公钥是为了在进行gitpull和gitpush操作时进行免密验证的;而GPG公钥是在gittag和gitcommit时进行验证的。不过需......
  • 【每日随笔】情绪操控术 ① ( 三层大脑模型 - 爬行脑 / 情绪脑 / 理性脑 | 情绪脑负面
    文章目录一、三层大脑模型1、三层大脑的进化2、三层大脑的分层包裹关系二、情绪脑的负面效果1、情绪脑VS理性脑2、情绪脑功能3、情绪脑负面效果一、三层大脑模型1、三层大脑的进化人的大脑是几亿年来逐步进化出来的,不同的脑区产生的时间是不同的;爬行脑进化了3亿年......
  • 代码随想录算法训练营第二十天|654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,9
    一、654.最大二叉树题目链接:LeetCode654.最大二叉树学习:思路:前序遍历方法参数:(int[]nums,intstart,intend)返回类型:TreeNode终止条件:if(end-start==0)returnnull;if(end-start==1)returnnewTreeNode(nums[start]);单层递归逻辑:寻找数组中的最大......
  • 2023.12.31——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.ERP明日计划:学习......
  • 12.31每日总结
    实验三:JFinal极速开发框架实验一、实验要求 根据参考资料,学习JFinal极速开发框架的使用并如下任务: 任务一:了解Maven及其使用方法,总结其功能作用(占20%) 任务二:学习JFinal框架,基于Maven建立JFinal工程,并对JFinal框架功能进行总结介绍(占30%) 任务三:基于JFinal完成一个简单的学......
  • 数据库超线程效果的一个验证
    数据库超线程效果的一个验证背景元旦加班期间,一直跟着同事再查一个项目的卡顿问题.自己想到了一个提高测试环境性能的方法.然后趁着元旦用的人少进行了一下验证.在业务空闲期间,批量进行Oracle数据库的统计信息更新动作.自己一开始担心的是如果数据量很大,执行时......
  • 每日导数21
    伯努利不等式应用已知函数\(f(x)=(1+x)^m-mx-1,x>-1,m>0\)且\(m\neq1\)\((1)\)讨论\(f(x)\)单调性\((2)\)若\(\forallx\in\left(0,\dfrac{\pi}{2}\right)\cup\left(\dfrac{\pi}{2},\pi\right),a\sinx<(1+\cos^2x)^{\sinx}\)求\(a\)取值范围.\((3)......
  • Asp .Net Core 集成 FluentValidation 强类型验证规则库
    目录入门程序安装案例:登录验证器内置验证器自定义验证器编写自定义验证器可重复使用的属性验证器本地化DI自动验证官网:https://docs.fluentvalidation.net/en/latest/index.html入门程序安装使用VisualStudio中的NuGet包管理器控制台运行以下命令:Install-PackageFluent......