题目

如果给定的字符串是回文,返回true,反之,返回false。

如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。

注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。

函数参数的值可以为"racecar","RaceCar"和"race CAR"。

提示

String.replace()

String.toLowerCase()

思路

用正则表达式验证字符串当中的标点符号和空格,用  "" 替换,最后用  toLowerCase() 方法转为小写再进行比较。

解法

function palindrome(str) {// Good luck!var re = /[\W\s_]/gi;str = str.replace(re,"");return str.toLowerCase() === str.split("").reverse().join("").toLowerCase(); }

测试

palindrome("eye") 应该返回一个布尔值

palindrome("eye") 应该返回 true.

palindrome("race car") 应该返回 true.

palindrome("not a palindrome") 应该返回 false.

palindrome("A man, a plan, a canal. Panama") 应该返回 true.

palindrome("never odd or even") 应该返回 true.

palindrome("nope") 应该返回 false.

palindrome("almostomla") 应该返回 false.

palindrome("My age is 0, 0 si ega ym.") 应该返回 true.

palindrome("1 eye for of 1 eye.") 应该返回 false.

palindrome("0_0 (: /-\ :) 0-0") 应该返回 true.

转载于:https://www.cnblogs.com/codepen2010/p/6813137.html

Check for Palindromes(算法)相关推荐

  1. freeCodeCamp算法

    /* Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 */ function re ...

  2. 死锁预防之银行家算法

    死锁预防之银行家算法 死锁 死锁的定义 死锁的产生 死锁的描述 死锁避免算法 银行家算法 设计思想 分析 使用数据结构的描述 使用到的函数 主函数执行的流程 银行家算法的逻辑 完整的程序代码 运行结果 ...

  3. 《未来简史》的“数据主义”——企业运作就是一套数据算法!

    "人类正逐渐将手中的权利交给自由市场.集体智慧和外部算法,部分原因就在于人类无力处理大量的数据." 近两年,一本全球瞩目的<未来简史>,对人类未来做了深入的分析和探讨, ...

  4. C++11 操作系统实验——银行家算法

    对,我又没事干,拿C++11写了个银行家算法的模拟程序. 使用了:OpenCV4.1 库来做显示(MFC太旧了,QT环境给我搞炸了...懒得弄了,选择OpenCV,虽然这个库是用来做机器视觉的...莫 ...

  5. Freecodecamp 刷题记录——前端基础算法

    Basic Front End Development Projects Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化 ...

  6. 0302Prim算法-最小生成树-图-数据结构和算法(Java)

    文章目录 1 Prim算法 1.1 概述 1.1.1 算法描述 1.1.2 数据结构 1.1.3 横切边集合维护 1.2 延时实现 1.2.1 实现代码 1.2.2 性能分析 1.3 即时实现 1.3 ...

  7. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  8. 在JavaScript中反转字符串的三种方法

    This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...

  9. mysql2005备份_创建完整数据库备份 - SQL Server | Microsoft Docs

    完整数据库备份Create a Full Database Backup 09/12/2019 本文内容 适用于:Applies to: SQL ServerSQL Server(所有支持的版本)SQ ...

最新文章

  1. 通俗讲java反射机制ioc,结合反射说明SpringIOC的实现原理
  2. rest模式get,post,put,delete简单讲解
  3. docker入门,基于ubuntu16.04
  4. 【POJ - 3159】Candies (差分约束,卡SPFA)
  5. 使用扩展存储过程xp_regread读取注册表信息
  6. 插入数据并返回插入数据ID
  7. 键盘迷情--Treo650 VS P50 【ZZ】
  8. 致敬CondConv!Intel提出即插即用的“万金油”动态卷积ODConv
  9. jsonp 获取图片文件流_【国际IT专场】Laravel Media Library多媒体文件的上传与管理...
  10. android ffmpeg4.0.2编译过程记录
  11. 工业锅炉计算机控制系统框图,锅炉控制(汇总).ppt
  12. EAS中没有的核算项目新增
  13. 计算机cpu的定义,CPU是什么?
  14. Python 离散小波变换(DWT) pywt库
  15. inflate()方法详解和源码分析
  16. 舒淇出席活动兴致低 否认收张震结婚请柬
  17. 常用github开源地址
  18. 计算机重启没有用户名,电脑重启之后图标没了怎么办
  19. 百度小程序坐拥三大亿级流量入口 如何低成本制作百度小程序?
  20. 中兴机试 通信算法方向 秋招春招

热门文章

  1. golang基本数据类型string字符串常用方法代码示例
  2. golang beego安装及入门示例
  3. golang flag包使用示例:接收命令行参数
  4. scala方法定义示例
  5. 封装一个流水号ID生成器:id-spring-boot-starter
  6. 设置nginx开机启动
  7. mysql聚簇索引的页分裂原理实例分析
  8. spring事务--使用aop事务代理对象调用方法示例
  9. Java多线程--synchronized修饰普通方法和修饰静态方法的区别
  10. Hexo搭建个人博客常用命令