1. 回文检查器
如果传入的字符串是回文字符串,则返回 true。 否则返回 false
回文 palindrome,指在忽略标点符号、大小写和空格的前提下,正着读和反着读一模一样。
注意:检查回文时,你需要先去除所有非字母数字的字符(标点、空格和符号),并将所有字母都转换成大写或都转换成小写。
我们会传入具有不同格式的字符串,如 racecar、RaceCar 和 race CAR 等等。
我们也会传入一些包含特殊符号的字符串,例如 2A33a2、2A3 3a2、2_A33#A2。
1.1 想法
- 已知条件:传入的参数有字符串和数字两种,检查回文时要去除所有的标点符号。
- 判断方法:正数的字符串和倒着数的字符串相等,即为回文字符串
- 代码相关知识点:replace()
1.2 JS代码
function palindrome(str) {
// 先把传入的字符串转换成小写
//利用正则表达式将非字母数字下划线(\W),空格(\s),都(/g)替换掉
let oriStr = str.toString().toLowerCase().replace(/[\W\s_]/g,'')
//将新的字符串拆分 - 反转 - 拼接 成反转字符串
let newStr = oriStr.split('').reverse().join('')
// 比较两个字符串是否相等
if (oriStr === newStr) return true;
else {
return false }
}
//测试
palindrome("eye"

本文介绍了freeCodeCamp中的三个JavaScript算法题目:回文检查器、罗马数字转换器和凯撒密码。对于回文检查器,重点在于去除非字母数字字符并忽略大小写进行比较;罗马数字转换器涉及罗马数字的计数原理和转换规则;凯撒密码的解密方法是按固定数目移动字母位置。每个问题都包括了解题思路和JS实现代码。

624

被折叠的 条评论
为什么被折叠?



