Check for Palindromes-FCC
問題:
检查回文字符串
如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。
函数参数的值可以为"racecar","RaceCar"和"race CAR"。
当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。
这是一些对你有帮助的资源:
要求:
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.思路:
由于回文数是指从中间起,两边的字符调换后与原字符一致,所以进行如下操作——
1.
将参数去掉标点符号及空格:replace(/[\W_]/g,"") //[]:定义匹配的字符范围 \W:匹配任何非单词字符 _:为了最后一项去掉_ g:全局匹配
将参数转换为小写:toLowerCase()
2.
考虑到回文数的定义,只需要调换字符串即可:reverse()
但是因为reverse() 是对数组进行操作,所以应该先把参数转换为数组:split("") //split():将字符串按指定的规则裁切并转换为数组 “”:按字符串每一个字符裁切
因为最后要比较字符串,所以再将数组转为字符串:join("") //join():通过指定的分隔符(默认是逗号)把数组中的所有元素放入一个字符串 "":使用“空”分隔(其实就是不分隔...)
3.
第一步是对传参修饰,第二步是对第一步的后续加工,将其赋值给一个变量即可
最后返回比较两个变量的结果:return 传参===变量;
1 function palindrome(str) {
2 // 请把你的代码写在这里
3 str = str.replace(/[\W_]/g,"").toLowerCase();
4 var restr = str.split("").reverse().join("");
5 return str===restr;
6 }
7
8
9
10 palindrome("A man, a plan, a canal. Panama");
记录的原因是之前某招聘题目遇到过,当时的想法是从传参中间破开,使用charAt对比对位的字符...
今天练习FCC的时候又遇到了,突然发现使用变换更快= =(心碎)
所以记录下来,希望给自己警示,同时希望给有迷惑的小伙伴一点丝毫不存在的帮助蛤蛤蛤
そこまでだ
Check for Palindromes-FCC的更多相关文章
- #254 Check for Palindromes
Check for Palindromes 检查回文字符串 如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符 ...
- FCC JS基础算法题(2):Check for Palindromes(检查回文字符串)
题目描述: 如果给定的字符串是回文,返回true,反之,返回false.如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文).注意你需要去掉 ...
- freeCodeCamp:Check for Palindromes
如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文). 注意你需要去掉字符串多 ...
- Check for Palindromes
如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文). 注意你需要去掉字符串多 ...
- Check for Palindromes-freecodecamp算法题目
Check for Palindromes(检查回文字符串) 要求 给定的字符串是回文,返回true,反之,返回false.(如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个 ...
- js中字符和数组一些基本算法题
最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping 这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法 ...
- FreeCodeCamp 前端初级算法(个人向)
freecodecamp 初级算法地址戳这里 Reverse a String 翻转字符串 function reverseString(str) { str=str.split("&quo ...
- FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)
这是本人的原创文章,转载请注明原文链接http://www.cnblogs.com/wusuowiaaa1blog/p/5932121.html. 1.Reverse a String 翻转字符串 先 ...
- FreeCodeCamp初级算法部分学习
Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招 ...
- 洛谷P1207 [USACO1.2]双重回文数 Dual Palindromes
P1207 [USACO1.2]双重回文数 Dual Palindromes 291通过 462提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有讨论 ...
随机推荐
- open文件操作之mode模式剖析
Python可以使用open函数来实现文件的打开,关闭,读写操作: Python3中的open函数定义为: open(file, mode='r', buffering=None, encoding= ...
- Eclipse无法打开项目中的任何文件
今天,Eclipse居然打不开项目的任何一个文件,网上也没搜到,我决定重置下视图试试: Windows-Reset Persective-然后能正常打开项目的文件了,解决问题!
- python使用mongodb
系统环境:Windows 10 ,python3.x 1.安装mongodb mongodb下载官网:https://www.mongodb.com/download-center?jmp=nav#c ...
- Html5笔记之第四天
属性 值 描述 accesskey character 规定访问元素的键盘快捷键 class classname 规定元素的类名(用于规定样式表中的类). contenteditable true f ...
- 关于RequestDispatcher的原理
RequestDispatcher简介 RequestDispatcher 代表请求的派发者.它有2个动作:forward 和 include .客户端对于任何一个请求,可以根据业务逻辑需要,选择不同 ...
- PHP字符串和数组
php常用函数和数组 字符串替换 , 分割字符串(字符串转数组), 拼接数组的值(数组组转字符串) , 格式化输出 查找字符首次出现的位置 , 获取字符串长度 以一个数组作为key另一个数组作为v ...
- linux下操作mysql
有关mysql数据库方面的操作,必须首先登录到mysql中. 开启MySQL服务后,使用MySQL命令可以登录.一般使用mysql -uroot -p即可.如果数据库不是本机,则需要加参数,常用参数如 ...
- 前端开发【第一篇:HTML】
HTML初识 1.什么是HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都 ...
- Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)
转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...
- 设计模式,Let's “Go”! (下)
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...